Sql запрос
Есть запрос следующего вида:
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('SELECT *');
DataModule2.ADOQuery1.SQL.Add('FROM fiziologiya');
DataModule2.ADOQuery1.SQL.Add('WHERE Problema LIKE '''+FindEdit.Text+'''');
DataModule2.ADOQuery1.Active:=true;
Как сделать чтобы искалось не строгое совпадение, а например, при введении "олок" находилось и "молоко".
Зараннее всем спасибо
Добрый день.
Есть запрос следующего вида:
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('SELECT *');
DataModule2.ADOQuery1.SQL.Add('FROM fiziologiya');
DataModule2.ADOQuery1.SQL.Add('WHERE Problema LIKE '''+FindEdit.Text+'''');
DataModule2.ADOQuery1.Active:=true;
Как сделать чтобы искалось не строгое совпадение, а например, при введении "олок" находилось и "молоко".
Зараннее всем спасибо
Ты лучше это в разделе базы данных спроси, только ты не Pascal код, а голый sql код представь... и укажи под какой сервер делаеш...
Добрый день.
Есть запрос следующего вида:
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('SELECT *');
DataModule2.ADOQuery1.SQL.Add('FROM fiziologiya');
DataModule2.ADOQuery1.SQL.Add('WHERE Problema LIKE '''+FindEdit.Text+'''');
DataModule2.ADOQuery1.Active:=true;
Как сделать чтобы искалось не строгое совпадение, а например, при введении "олок" находилось и "молоко".
Зараннее всем спасибо
Ты с ADO или ODAC работал...?
Если работал, то загляни сюда пожалуйста...
http://forum.codenet.ru/showthread.php?s=&threadid=31317
Добрый день.
Есть запрос следующего вида:
DataModule2.ADOQuery1.Active:=false;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add('SELECT *');
DataModule2.ADOQuery1.SQL.Add('FROM fiziologiya');
DataModule2.ADOQuery1.SQL.Add('WHERE Problema LIKE '''+FindEdit.Text+'''');
DataModule2.ADOQuery1.Active:=true;
Как сделать чтобы искалось не строгое совпадение, а например, при введении "олок" находилось и "молоко".
Зараннее всем спасибо
Использовать маски типа %олок% или _олок_
Хотелось бы немножко усложнить поиск.
Идея: пользователь выбирает из списка (ComboBox) поле, по которому будет осуществляться поиск.
Как это реализовать?
Спасибо, все работает.
Хотелось бы немножко усложнить поиск.
Идея: пользователь выбирает из списка (ComboBox) поле, по которому будет осуществляться поиск.
Как это реализовать?
Ответ очевиден:
Не знаю на чем пишешь, может там не так свойства комбобокса называются, но принцип, думаю, понятен...
Ответ очевиден:
Не знаю на чем пишешь, может там не так свойства комбобокса называются, но принцип, думаю, понятен...
А если текст в ComboBox'е не совпадает с названием поля?
А если текст в ComboBox'е не совпадает с названием поля?
Заведи массив с именами полей, в котором индексы будут соответствовать индексам в комбобоксе, и подставляй значение элемента массива с индексом, равным номеру выбранного элемента комбобокса.
Заведи массив с именами полей, в котором индексы будут соответствовать индексам в комбобоксе, и подставляй значение элемента массива с индексом, равным номеру выбранного элемента комбобокса.
А объясните, плиз, на каком нибудь примере.
А то в книжке, которая у меня есть такого не нашел :-(
А объясните, плиз, на каком нибудь примере.
А то в книжке, которая у меня есть такого не нашел :-(
Ну вот допустим, у тебя в таблице есть 4 поля: ID, SURNAME, NAME, PATRONYMIC.
И в комбобоксе следущие варианты:
Фамилия (SURNAME)
Имя (NAME)
Отчество (PATRONYMIC)
Идентификатор (ID)
Ты заводишь массив ArrayFields из 4 строк:
Порядок должен совпадать с порядком в комбобоксе.
Далее, выбрал, допустим юзер в комбобоксе отчество - ComboBox1.ItemIndex = 2 (нумерация от 0).
Значит, ты формируешь следующую строку SQL:
Надеюсь, теперь более понятно объяснил.
А если текст в ComboBox'е не совпадает с названием поля?
Тогда не нужно писать в вопросе: "пользователь выбирает из списка (ComboBox) поле" =)
Кроме массивов, можно использовать свойства Item-а в комбобоксе. Правда не везде. В некоторых компонентах Итемы представлены просто в виде строк, но в других в виде отдельных классов, у которых есть куча полей типа Value,DisplayText,Tag и т.д. куда можно записать инф-ию...если таких нет, то конечно используй массивы, как грамотно посоветовал sp999, только всегда помни о синхронизации, добавляешь в комбобокс новый Итем - добавляй в массив новое значение для него...
А вообще тема уже плавно начинает выходить за рамки SQL, так что такие вопросы надо задавать уже в, соттветсвующем твоей среде разработке, разделе форума, иначе придется закрывать.