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

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

Как сделать выборку из БД Firebird по дате?


Novicer ©   (2014-01-31 15:15:00) 

Здравствуйте! Подскажите пожалуйста где может быть ошибка? Хочу выбрать из списка DATELIST базы все строчки в которых дата указанная в Edit1, например: 10.01.2014 Пробую так:
IBQuery1.Close;
IBQuery1.SQL.Text := 'SELECT * FROM DATELIST WHERE :Name_param1=ZDATE';
IBQuery1.ParamByName('Name_param1').AsDate := StrToDate(Edit1.Text);
if not IBQuery1.Prepared then IBQuery1.Prepare;
IBQuery1.Open;
Получаю ошибку: "Name_param1 not found!" Тип поля ZDATE в базе указан как Date, данные в таблице есть,а выборку сделать не получается :(


Inovet   (2014-01-31 17:21:00) [1]

> [1] Novicer   (31.01.14 15:24)
> Мистика...

Изучить — для чего нужен Prepare.


Novicer   (2014-01-31 15:24:00) [2]

Если вместо IBQuery1.ParamByName('Name_param1').AsDate := StrToDate(Edit1.Text); написать:
IBQuery1.Params[0].AsDate := StrToDate(Edit1.Text);
то все работает, но непонятно почему ошибка при начальной формулировке параметра. Самое интересное, что в других частях программы параметр указывал через IBQuery1.ParamByName('Name_param1') и работает без ошибок. Мистика...


Наверх

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