![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL Query [D5, Paradox]
DenKop © (2002-06-22 18:41:00)Делаю так:
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"
Подскажите, что я делаю не правильно?
DenKop (2002-06-23 20:18:00) [1]Спасибо, понял свой косяк. Думаю нужно повнимательнее читать умные книги.
Bakca (2002-06-23 13:45:00) [2]на крайняк можно просто
where ([поле] >= "дата1") and ([поле] <= "дата2")
---
насколько я знаю конструкция between такова:
where [поле] between "дата1" and "дата2"
NNH (2002-06-23 10:24:00) [3]Можно задать два параметра типа "Дата" (D1, D2 - например), и перед выполнением запроса передавать их в качестве условия:
try
Query1.Close;
Query1.Prepare;
Query1.ParamByName("D1").AsString:=DateFrom; // DateFrom - //Переменная типа "Дата" - от даты
Query1.ParamByName("D2").AsString:=DateTo; // DateTo -//Переменная типа "Дата" - по дату
Query1.Open;
except end;
nick_sniper (2002-06-23 02:59:00) [4]Правильно будет:
Query1.SQL.Add("SELECT * FROM main WHERE "+Combobox1.Text+
" Between ""+Edit2.Text+"" AND""+Edit3.Text+""");
DenKop (2002-06-23 02:01:00) [5]А где именно? В описании читал, что для between"а ни каких AND не трубуется.
Polevi (2002-06-22 18:51:00) [6]AND пропущен