|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Помогите в составлении запроса!
Помогите!! У меня очень большая загвоздка! в Программе есть строка (TEdit) в ней содержится строка вида (анальг/амп/10). Необходимо составить запрос SQL для выборки данных с параметром поиска строки. Например если стоит / - это значит что слова могут стоять а в обратной последовательности.
Например: в строке анальг/амп/10 Это значит что должно быть несколько запросов, 1-вый запрос: анальг%амп%10 2-ой: 10%анальг%амп 3-ый: 10%амп%анальг 4-ый: анальг%10%амп и так далее. Помогите составить сначала процедуру составления последовательностей, а потом уже и запрос. Названия полей можете брать свои (это мало важно), я потом все буду переносить в свою программу. Если можно то не затягивайте с ответом, уж очень нужно! Заранее спасибо!! Андрей. |
#2
|
|||
|
|||
Надо разделить строку поиска на подстроки и задать их как отдельные параметры в запросе.
Код:
function MakeQuery(AText : String) : String; var I : Integer; AParams : TStringList; begin AParams := TStringList.Create; While Pos('/',AText) > 0 Do Begin AParams.Add(Copy(AText,1,Pos('/',AText)-1)); AText := Copy(AText,Pos('/',AText)+1,Length(AText)-Pos('/',AText)+1); End; If AText <> '' Then AParams.Add(AText); Result := 'SELECT * FROM Table WHERE'; For I := 0 To APArams.Count-1 Do Begin If I <> 0 Then Result := Result + ' AND'; Result := Result + ' field1 LIKE ''' + AParams[i] + '''%'; End; AParams.Free; end; в общем, как-то так. |
#3
|
|||
|
|||
Огромное Вам спасибо, все заработало!!!!!!!!
Могу пускать проект в мир! Еще раз большое спасибо! |