-
Добрый день, ковыряю свой первый проектик, сильно не ругайте? Извините за техническую безграмотность.
Есть база данных Access, на форме при помощи ADO connection, Table и Data Source отображаются поля в DBGrid. С добавление и удалением записей поигрался, реализовал простой поиск через ADOQuery, привожу примерprocedure TForm2.Button1Click(Sender: TObject);
begin
datamodule1.ADOQuery1.Active :=False;
datamodule1.ADOQuery1.SQL.Clear;
datamodule1.ADOQuery1.SQL.Add('SELECT*');
datamodule1.ADOQuery1.SQL.Add('FROM sey1');
datamodule1.ADOQuery1.SQL.Add('WHERE Тип LIKE '''+Edit4.Text+'''');
datamodule1.ADOQuery1.SQL.Add('or Модель LIKE '''+Edit4.Text+'''');
datamodule1.ADOQuery1.SQL.Add('or Цена LIKE '''+Edit4.Text+'''');
datamodule1.ADOQuery1.SQL.Add('or Фирма LIKE '''+Edit4.Text+'''');
datamodule1.ADOQuery1.Active := true;
form9.ShowModal;
end;
Ищет как вы поняли по полям Тип, Модель и т.д
Хотелось бы поиск не только по целому слову, но и по вхождению в слово, к примеру в поле Тип есть запись "Простой", а есть запись "Просто", хотелось вы чтобы при вводе Просто в Edit находил обе записи, гугл выдал код
SELECT * FROM Таблица WHERE [ПолеФирмы] LIKE "*" & [Введите подстроку названия] & "*"
после LIKE мне непонятно как реализуется, или подскажите как правильно реализовать такой поиск
Спасибо -
> гугл выдал код
все правильно, но * редко уже используется поменяй на %. -
Плохиш © (17.07.13 13:10) [2]Из справки к D7Like Memo LIKE '%filters%' Nein Verhält sich wie SQL-92 ohne die ESC-Klausel. Bei Anwendung auf BLOB-Felder legt FilterOptions fest, ob die Groß-/Kleinschreibung berücksichtigt wird.
-
Спасибо, но мне непонятен участокnullLIKE "%" & [Введите подстроку названия] & "%"
как мне это к моему Edit добавить -
Плохиш © (17.07.13 13:51) [4]Изучение чего-либо надо начинать с основ. В основы программирования, в частности, входят операторы и их использование.
-
Спасибо, с эдитом поторопился, если не сложно просто объясните синтаксис этой строки
SELECT * FROM Таблица WHERE [ПолеФирмы] LIKE "*" & [Введите подстроку названия] & "*" -
это вижуал бейсик, конкатенация строк там так делается.
> объясните синтаксис этой строки
объясни, что не не понятно... не говори, что "все". -
ну как я понял
SELECTом со знаком * мы указываем что выбирать (столбец), в данном случае звездочка означает все столбцы, FROM "Имя_таблицы" где выбирать, WHERE не совсем понимаю, тоже как бы выбор столбца. Далее после LIKE непонятен синтаксис -
> тоже как бы выбор столбца. Далее после LIKE непонятен синтаксис
не выбор столбца, а условие - выбирать если "ПолеФирмы"(имя поля) похоже на составленная строка...
синтаксис после LIKE чисто VB в дельфи не работает... см. лучше справку по дельфи. тем более если это из VB акцесса (есть разница) то это не просто строка, а фактически вызов окна ввода значения с заголовком "Введите подстроку названия". -
Плохиш © (17.07.13 15:17) [9]