Вниз
Скачать: CL | DM;

SQL Query   Найти похожие ветки 

 
DenKop ©   (2002-06-22 18:41) [0]

Делаю так:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("SELECT * FROM main WHERE "+Combobox1.Text+
" Between ""+Edit2.Text+"" ""+Edit3.Text+""");
Query1.Open;

Combox1 - имя поля
Edit2 - Дата1
Edit3 - Дата2

Должна искать все записи у которых поле Data находится в диапазоне от Edit2.Text до Edit3.Text

После выполнения получаю ошибку
"Token not found"
Token:"01.02.2001"

Подскажите, что я делаю не правильно?


 
Polevi ©   (2002-06-22 18:51) [1]

AND пропущен


 
DenKop ©   (2002-06-23 02:01) [2]

А где именно? В описании читал, что для between"а ни каких AND не трубуется.


 
nick_sniper ©   (2002-06-23 02:59) [3]

Правильно будет:

Query1.SQL.Add("SELECT * FROM main WHERE "+Combobox1.Text+
" Between ""+Edit2.Text+"" AND ""+Edit3.Text+""");



 
NNH ©   (2002-06-23 10:24) [4]

Можно задать два параметра типа "Дата" (D1, D2 - например), и перед выполнением запроса передавать их в качестве условия:
try
Query1.Close;
Query1.Prepare;
Query1.ParamByName("D1").AsString:=DateFrom; // DateFrom - //Переменная типа "Дата" - от даты
Query1.ParamByName("D2").AsString:=DateTo; // DateTo -//Переменная типа "Дата" - по дату
Query1.Open;
except end;


 
Bakca   (2002-06-23 13:45) [5]

на крайняк можно просто
where ([поле] >= "дата1") and ([поле] <= "дата2")
---
насколько я знаю конструкция between такова:
where [поле] between "дата1" and "дата2"


 
DenKop ©   (2002-06-23 20:18) [6]

Спасибо, понял свой косяк. Думаю нужно повнимательнее читать умные книги.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
4-47867
Sergo
2002-05-06 13:13
2002.07.15
Приоритет


7-47838
Lego
2002-04-23 05:01
2002.07.15
Есть кто-нибудь разбирающийся в перешивке ПЗУ?


3-47112
volph
2002-06-21 10:51
2002.07.15
ADOQuery1.Parameters.AddParameter


14-47701
Windeus
2002-06-18 00:43
2002.07.15
Warning и...


3-47199
veronika
2002-06-19 12:58
2002.07.15
Округление значений полей.




   Наверх