Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование 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]

неужели нет желающих помочь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо