Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Запрос к таблице с отбором по дате......   Найти похожие ветки 

 
Sanches   (2006-06-24 14:17) [0]

Делаю запрос к таблице oplata:

ADOQuery12.SQL.Add("select *  from oplata where data>02.03.2006");

где поле data - Дата/время в таблице Access 2000

Delphi выдает ошибку: "число содержит синтаксическую ошибку data>02.03.2006"

Вопрос: какой синтаксис при отборе по дате (если сделать поле data -текстовым, то отбор идет только по дням -месяц и год игнорирует)


 
Курдль ©   (2006-06-24 14:28) [1]

ADOQuery12.SQL.Add("select *  from oplata where data>:data);
Где :data - параметр.
Это единственно правильный подход к решению подобных проблем. Иначе, даже если Вы правильно вычислите формат даты на данный момент, кто-то может просто его изменить в настройках БД.
Еще один вариант, если эта дата незыблема, использовать явное преобразование TO_DATE("02.03.2006", "DD.MM.YYYY") но не уверен, что у Access-а именно такой синтаксис.


 
Sanches   (2006-06-24 14:35) [2]

I>
> если эта дата незыблема

У меня дата берется из DateTimePicker1.DateTime и что-то типа:

ADOQuery12.SQL.Add("select *  from oplata where data  >"+ DateToStr(DateTimePicker1.DateTime)+")";


 
Курдль ©   (2006-06-24 14:39) [3]


> У меня дата берется из DateTimePicker1.DateTime

Значит сам Бог велел использовать параметрические запросы.

ADOQuery + F1


 
Sanches   (2006-06-24 15:05) [4]

ADOQuery12.SQL.Add("select *  from oplata where data = "+FormatDateTime("dd.mm.yyyy",DateTimePicker1.DateTime)+"");

Таже самая ошибка! Пару сток черкните!!!


 
Virgo_Style ©   (2006-06-24 15:16) [5]

Sanches   (24.06.06 15:05) [4]

[1], строка 1,2


 
Курдль ©   (2006-06-24 15:16) [6]

Ваш подход - упадочный. Работайте через параметры.


 
Sanches   (2006-06-24 15:23) [7]


> Работайте через параметры

что такое параметры? Примерчик


 
Курдль ©   (2006-06-24 15:26) [8]


> Sanches   (24.06.06 15:23) [7]
> что такое параметры? Примерчик


Описания и примерчики - в книжечках. По Делфи их немеряно! Просто немеряно-немеряно! (По сравнению с любыми другими продуктами).


 
Sanches   (2006-06-24 15:29) [9]

Ваш ответ - упадочный. наишите какие параметры :)


 
Desdechado ©   (2006-06-24 15:32) [10]

Пережую [1] для непонятливых:
Query.SQL.Text:="SELECT * FROM tbl WHERE fld < :param1";
Query.Params[0].Value:=Date;
Query.Open;


 
Курдль ©   (2006-06-24 15:36) [11]


> Desdechado ©   (24.06.06 15:32) [10]


Не выдержало доброе сердце издевательства над юным мозхом советами почитать книжки! :)


 
sniknik ©   (2006-06-24 15:40) [12]

Курдль ©   (24.06.06 15:36) [11]
думаеш поможет?
счаз будут вопли о нерабочести кода... (отсутствует Params).


 
Sanches   (2006-06-24 17:40) [13]

да нет, воплей не будет, спасибо что заставили думать, но на этот форум я обращаюсь для быстрого решения проблем!!!!!
А вот решение проблемы (мож кому пригодится):

ADOQuery12.Close;
ADOQuery12.SQL.Clear;
ADOQuery12.SQL.Add("select *  from oplata where  (data> :qqq) and (data< :qqq1)  order by data");
ADOQuery12.Parameters[0].Value:=DateTimePicker1.DateTime;
ADOQuery12.Parameters[1].Value:=DateTimePicker2.DateTime;
ADOQuery12.Open;


 
sniknik ©   (2006-06-24 19:00) [14]

> мож кому пригодится
ну судя по тому, что тебе не пригодились сотни аналогичных [13]-му постов здесь от более ранних участников... (закончи мысль сам)

и еще, не называй это проблемой пожалуйста... если это проблема, то написать чтото сложнее "hello word" вообще невозможно, в принципе, а это не так.


 
Desdechado ©   (2006-06-24 19:02) [15]

> отсутствует Params
Заметь, я писал Query, а не ADOQuery. Суть та же, названия другие.



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.038 c
9-1124984956
Dgt
2005-08-25 19:49
2006.07.09
Формулы Opengl


15-1150129891
Nic
2006-06-12 20:31
2006.07.09
Создание электронной библиотеки кафедры


2-1150861560
resuS
2006-06-21 07:46
2006.07.09
Проблема с модулем(Паскаль)


2-1150492533
FiJer
2006-06-17 01:15
2006.07.09
Помогите разобраться с компонентом


15-1149761362
Layner
2006-06-08 14:09
2006.07.09
Хочу написать "Электронный термометр", как лучше сделать