• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Поиск по нескольким полям

  • Автор темы Brunetka
  • Дата начала
B

Brunetka

Есть БД, нужно в каждой отдельной таблице осуществить поиск по 1 или нескольким полям. Вот мой код на дельфи:
[codebox]procedure TForm1.Button3Click(Sender: TObject);
var
LocOpts : TLocateOptions;
t : string;
n: array of variant;
index: integer ;
begin
LocOpts :=[];
IF CheckBox8.Checked THEN LocOpts := LocOpts + [loPartialKey];
IF CheckBox9.Checked THEN LocOpts := LocOpts + [loCaseInsensitive];


case RadioGroup1.ItemIndex of
0:
begin
IF Edit1.Text<>'' THEN
begin
t := t+'KEY_BALETI;';
index := Length(n);
SetLength(n, index + 1);
n[index] := Edit1.Text;
end;

IF Edit2.Text<>'' THEN
begin
t := t+'NAME_BALETA;';
index := Length(n);
SetLength(n, index + 1);
n[index] := Edit2.Text;
end;

IF Edit3.Text<>'' THEN
begin
t := t+'DATA_SOZD;';
index := Length(n);
SetLength(n, index + 1);
n[index] := Edit3.Text;
end;

DataModule2.IBQuery1.Locate(t, n, LocOpts);

end;
end;[/codebox]
Здесь у меня RadioGroup1 это выбор таблиц (пишу, соответственно, пока для первой), Edit1, Edit2, Edit3 -поля, по которым ищу.
Ошибок не выдает, но и не работает((БД, подключена. посмотрите, пожалуйста, ошибок не видите? Или я что-то еще забыла сделать...
 
E

etc

Locate - это функция. Смотрите что она возвращает и "пляшите" отсюда. И 2 параметр у вас по моему неправильный, смотрите справку, там есть примеры.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!