![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование ADO в Delphi 5.0 [D5, dBase, FoxPro]
highlander © (2003-09-23 11:17:00)
Кто подскажет как правильно составить сложный запрос к таблице dbf используя ADO? Например:
- есть таблица с полями phone,abonent,ulica,dom,kw,gorod
- надо составить такой запрос:
select * from url
where "text"
and phone not null
- далее такая фишка:
если компонент Edit1 не пустой то ищем запись по, например, полю phone...ну и так далее.
Так вот, после выполнения такого запроса ADO выдает сообщение о том, что задано слишко мало параметров?
Nikolay M. (2003-09-25 15:04:00) [1]
#39 - это единичная кавычка. Текстовые строки в SQL обрамляются именно ими. Да, еще сделай нечто вроде
Query.SQL.Add (" AND address = " + #39 + AnsiReplaceText(eAddress.Text, #39, #39#39) + #39);
Если в полях, по которым делается фильтр, встретится кавычка, то вид она портить уже не будет :)
highlander (2003-09-25 14:20:00) [2]
Nikolay M. © (23.09.03 18:00) [4]
Большущее спасибо, но если можно еще одно объяснение?
А зачем #39? и для чего оно используется?
Nikolay M. (2003-09-23 18:00:00) [3]
Сначала пишешь в запрос примерно следующее:
Query.SQL.Text := "SELECT * FROM url WHERE 1";
Потом бежишь по всем своим полям:
if (ePhone.Text <> "") then
Query.SQL.Add (" AND phone = " + #39 + ePhone.Text + #39);
if (eAddress.Text <> "") then
Query.SQL.Add (" AND address = " + #39 + eAddress.Text + #39);
и тд по аналогии
Mike Kouzmine (2003-09-23 14:29:00) [4]
Точно так же, как и к таблицам другого формата.
highlander (2003-09-23 12:12:00) [5]
АЛЬО!!! Мастера Делфи, где же вы?
highlander (2003-09-23 11:46:00) [6]
неужели нет желающих помочь?