Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизВ TQuery самозаменяются параметры, почему? Найти похожие ветки
← →
RavenD (2004-09-16 14:59) [0]Привет, All!
в TQuery лежит запрос:
"select * from Table1 t1 where t1."year"=iyear"
в базе есть записи только за 2003 год, при вызове строки Query1.ParamByName("iyear").AsInteger := 2004 значение в Query1.ParamByName("iyear").AsInteger подменяется 2003, пройдя по исходникам Delphi (5) дошел до TParam.SetAsInteger(Value : Longint); и увидел что передается не 2004, а 2003, дальше пройти не смог, наверняка на эти грабли я наступил не первый, что посмотреть и как подправить, подскажите.
P.S.
никаких примочек типа МастерДетайл или указания в качестве DataSource другого источника (TTable, TQuery) не используется -> перекрывать значения некому
Спасибо.
← →
Save (2004-09-16 15:11) [1]ParamCheck?
← →
sniknik © (2004-09-16 15:19) [2]select * from Table1 t1 where t1."year"=:iyear
← →
Sergey13 © (2004-09-16 15:20) [3]чудеса?
← →
RavenD (2004-09-16 15:28) [4]>Save
ParamCheck не влияет, пробовал и true и false, результат тот же
>sniknik
думаю понятно что кавычки были добавленны только в топике
>Sergey13
чудеса не чудеса, а разбиратся нужно
Спасибо за ответы, но может кто ещё что подскажет?
← →
Sergey13 © (2004-09-16 15:31) [5]2[4] RavenD (16.09.04 15:28)
>думаю понятно что кавычки были добавленны только в топике
Там не кавычки главное а двоеточие.
← →
RavenD (2004-09-16 15:38) [6]народ пардон, естественно двоеточие тоже присутствует, иначе бы вылетало, а оно зашибенно работает и даже находит, только то чего не должно быть :(
← →
Sergey13 © (2004-09-16 15:41) [7]> при вызове строки Query1.ParamByName("iyear").AsInteger := 2004 значение в Query1.ParamByName("iyear").AsInteger подменяется 2003
Как ты это определил? Может кусок кода выложишь где это и открытие запроса?
← →
RavenD (2004-09-16 16:14) [8]>Sergey13
>Как ты это определил? Может кусок кода выложишь где это и открытие запроса?
вытащил Query1.ParamByName("iyear").AsInteger в Watch, а так же смотрел что приходит в TParam.SetAsInteger(Value : Longint);
народ, все нашел, была объявленна глобальная переменная с тем же именем что и параметр передаваемый в функцию где вызывался TQuery
Всем Спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c