Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В TQuery самозаменяются параметры, почему? [D5]


RavenD ©   (2004-09-16 14:59:00) 

Привет, 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) не используется -> перекрывать значения некому

Спасибо.


RavenD   (2004-09-16 16:14:00) [1]

>Sergey13
>Как ты это определил? Может кусок кода выложишь где это и открытие запроса?
вытащил Query1.ParamByName('iyear').AsInteger в Watch, а так же смотрел что приходит в TParam.SetAsInteger(Value : Longint);

народ, все нашел, была объявленна глобальная переменная с тем же именем что и параметр передаваемый в функцию где вызывался TQuery

Всем Спасибо.


Sergey13   (2004-09-16 15:41:00) [2]

> при вызове строки Query1.ParamByName('iyear').AsInteger := 2004 значение в Query1.ParamByName('iyear').AsInteger подменяется 2003
Как ты это определил? Может кусок кода выложишь где это и открытие запроса?


RavenD   (2004-09-16 15:38:00) [3]

народ пардон, естественно двоеточие тоже присутствует, иначе бы вылетало, а оно зашибенно работает и даже находит, только то чего не должно быть :(


Sergey13   (2004-09-16 15:31:00) [4]

2[4] RavenD   (16.09.04 15:28)
>думаю понятно что кавычки были добавленны только в топике
Там не кавычки главное а двоеточие.


RavenD   (2004-09-16 15:28:00) [5]

>Save
ParamCheck не влияет, пробовал и true и false, результат тот же

>sniknik
думаю понятно что кавычки были добавленны только в топике

>Sergey13
чудеса не чудеса, а разбиратся нужно

Спасибо за ответы, но может кто ещё что подскажет?


Sergey13   (2004-09-16 15:20:00) [6]

чудеса?


sniknik   (2004-09-16 15:19:00) [7]

select * from Table1 t1 where t1."year"= :iyear


Save   (2004-09-16 15:11:00) [8]

ParamCheck?


Наверх

Титульная страница Поиск, карта сайта Написать письмо