|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
adoquery тип параметра
Здравствуйте господа знающие.... Подскажите пожалуйста почему когда я выбираю тип параметра adoquery data type currency, автоматом ставиться тип float.
Просто мне надо параметру значение переменной типа currency присвоить...? |
#2
|
|||
|
|||
Ну, видимо, так сделано.
С другой стороны, эти типы совместимы, так что особой проблемы я тут не вижу. А присваивать можешь спокойно через AsCurrency - он прекрасно это "съест". |
#3
|
|||
|
|||
Просто у меня есть база access(mdb), при попытке добавить запись в таблицу через adoquery выскакивает ошибка "Несоответствие типов данных в выражении условия отбора".
Код:
SQL.Text:=' insert into Platej ( Nom_dogovor,'+' date_platejaReal, Summa_Ostatok, Summa_plateja,'+'Penya, Prosrochka, date_platejaOsn,'+' Summa_Procent, Kolvo_platejei,'+' Summ_Osndolg, Sum_KonPlat)'+#13+ 'values (:ParNomDog,:ParDateplatejei,:ParSummOst,'+':ParSummPlateja,:ParPenya,'+ ':ParProsrochka,:ParDatePlatOsn,:ParSummProc,:ParKolPlatej,:ParSummOsnDolg, :ParSummKonPlat )'; Parameters.ParamByName('ParNomDog').Value :=StrToInt(ComboBoxNomDog.Text); Parameters.ParamByName('ParDateplatejei').Value:=DatePlatej.DateTime; Parameters.ParamByName('ParSummOst').Value:=SummaOst; Parameters.ParamByName('ParSummPlateja').Value:=StrToCurr(SummaPlateja.Text); Parameters.ParamByName('ParPenya').Value:=0; Parameters.ParamByName('ParProsrochka').Value:=0; Parameters.ParamByName('ParDatePlatOsn').Value:=DatePlatOsn; Parameters.ParamByName('ParSummProc').Value:=0; Parameters.ParamByName('ParKolPlatej').Value:=KolPlatejei; Parameters.ParamByName('ParSummOsnDolg').Value:=StrToCurr(SummaPlateja.Text); Parameters.ParamByName('ParSummKonPlat').Value:=PerPlat1(SummaOst,KolPlatejei); ExecSQL; Кстати преобразование ascurrency не выскакивает в подсказке только value. |
#4
|
|||
|
|||
С чего вывод о том что именно из-за этого параметра ошибка?
|
#5
|
|||
|
|||
Так из-за какого именно?
|
#6
|
|||
|
|||
1. Станно, что не выскакивает.
2. Не надо присваивать значения через Value. используй соотв. AsDATATYPE. 3. Не надо этот запрос пихать в компонент в рантайме - сделай отдельный компонент с этим запросом, забитым статически. 4. Вообще, впечатление, что ошибку ты получаешь в другом запросе, т.к. в этом запросе нет "условия отбора". Смотри внимательнее. |
#7
|
|||
|
|||
Все нашел ошибку, одному из параметров я присваиваю значение Tdate, а в базе соответствующее поле имеет тип Дата\Время, поменял TDate на TdateTime. Сейчас запись проходит. Не хочется присваивать значения через value, поэтому можно поподробнее про AsDATATYPE.
|