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