Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.08.2014, 13:12
mrgorr mrgorr вне форума
Прохожий
 
Регистрация: 29.08.2014
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Запрос с параметрами период по дате

Добрый день, прошу помощи
Delphi 7 + Acces
Период по дате от и до с условием не пойму в чем дело
Код:
DataModule2.ADOQTovarReport.sql.Clear;
DataModule2.ADOQTovarReport.sql.text:='select * from Zakazano where (КодТовара =kod) and (Дата between :Date1  AND :date2)';
DataModule2.ADOQTovarReport.Parameters.ParamByName('kod').Value:=StrToFloat(DBEdit1.text);
DataModule2.ADOQTovarReport.Parameters.ParamByName('date1').Value:=datetostr(DateTimePicker1.Date);
DataModule2.ADOQTovarReport.Parameters.ParamByName('date2').Value:=datetostr(DateTimePicker2.Date);
DataModule2.ADOQTovarReport.Active:= true;
Админ: Пользуемся тегами для оформления кода!

Если разбить запрос на два по отдельности все работает, но вместе говорит что параметр kod не найден

Последний раз редактировалось Admin, 29.08.2014 в 19:42.
Ответить с цитированием
  #2  
Старый 03.09.2014, 23:44
kaakaa
 
Сообщения: n/a
По умолчанию RE> Запрос с параметрами период по дате

Почему параметр "kod" без двоеточия?

Текст запроса в студию. Я имею ввиду тексты выполняемого запроса, который смотрим в SQL мониторе.

Думаю даты передаются в неправильном формате. Например FIREBERD воспринимает даты в формате "YYYY-MM-DD".

(см. http://www.sql.ru/faq/faq_topic.aspx?fid=157)

Последний раз редактировалось kaakaa, 03.09.2014 в 23:47.
Ответить с цитированием
  #3  
Старый 04.09.2014, 00:07
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В общем, +1.
Нет двоеточия перед параметром kod в запросе.
А дату в параметр лучше передавать как нативный тип:
Код:
DataModule2.ADOQTovarReport.Parameters.ParamByName('date1').asDateTime:=DateTimePicker1.Date;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:08.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter