|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
SQL запрос, отбор по дате
Доброго времени суток!!!
Итак задача ... запрос из таблицы (dbf) отбор по полям типа Date и соединяюсь через ADO. Задаю значение параметру, но при выполнении ошибку выдает... Параметр такойто не обнаружен.... такая же ситуация в логическими полями. Код:
ADOQuery1.Active:=false; ADOQuery1.Parameters.ParamByName('de').Value:=DateTimePicker1.Date; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select date'); ADOQuery1.SQL.Add('from mdocm'); ADOQuery1.SQL.Add('where date=:ddd'); ADOQuery1.Active:=true; Пробовал и в стринге параметр передавать... Последний раз редактировалось Teh, 18.04.2007 в 20:23. |
#2
|
||||
|
||||
Так попробуй:
Код:
ADOQuery1.Active:=false; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select [date]'); ADOQuery1.SQL.Add('from mdocm'); ADOQuery1.SQL.Add('where [date]=:ddd'); ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text,True); ADOQuery1.Parameters.ParamByName('ddd').Value:=DateTimePicker1.Date; ADOQuery1.Active:=true; да и в приведенном тобой примере имена параметров не совпадают. |
#3
|
|||
|
|||
Aristarh Dark про имена параметров я заметил, это из-за спешки я редактировал сообщение , экспериментировал с параметрами.
Теперь по теме, приведенный вами код Код:
ADOQuery1.Active:=false; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select [date]'); ADOQuery1.SQL.Add('from mdocm'); ADOQuery1.SQL.Add('where [date]=:ddd'); ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text,True); ADOQuery1.Parameters.ParamByName('ddd').Value:=DateTimePicker1.Date; ADOQuery1.Active:=true; База не моя ( я бы не использовал зарезервированные слова в именах полей) , [] не обязательны, в других запросах где отбор идет по текстовым и числовым полям поле Date вписано без [] и ошибки это не вызывает. |
#4
|
||||
|
||||
А где именно ошибка, в момент отработки запроса?
|
#5
|
|||
|
|||
Когда ADOQuery1 активирую.
ADOQuery1.Active:=true |
#6
|
|||
|
|||
Надоело, она мне сегодня снится будет, эта ошибка...
Код:
ADOQuery2.SQL.Add('select [date] '); ADOQuery2.SQL.Add('from mdocm'); ADOQuery2.SQL.Add('where [date]='''+datetostr(DateTimePicker1.date)+''''); |