Запрос SQL:
Код:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
f:string;
begin
f:=inputbox('Поиск по БД','Введите фамилию человека','');
if f <> '' then
begin
with Form1.Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT Number');
SQL.Add('FROM MobNomera');
SQL.Add('WHERE Fam like "%'+'f'+'%" and Name like "%'+'f'+'%"');
Open;
if Form1.Query1.RecordCount>0 then
ShowMessage(Form1.Query1.Fields[0].AsString);
end;
end;
end;
Если я ввожу в строке поиска фамилию, то ничего не происходит и не выводится.
А если я пробую так:
Код:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
f:string;
begin
f:=inputbox('Поиск по БД','Введите фамилию человека','');
if f <> '' then
begin
with Form1.Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT Number');
SQL.Add('FROM MobNomera');
//SQL.Add('WHERE Fam like "%'+'f'+'%" and Name like "%'+'f'+'%"');
Open;
if Form1.Query1.RecordCount>0 then
ShowMessage(Form1.Query1.Fields[0].AsString);
end;
end;
end;
то выводится сообщение с номером именно первого человека. То есть что бы я не вводил, то все время будет выводится один и тот же номер человека, первым стоящим по списку. Делает почти то, что надо, но немного не то. Что надо исправить? В свойствах компонента TQuery (свойство SQL) у меня написано так:
Код:
SELECT * FROM MobNomera.db
Может надо в этом свойстве исправить? Подскажите пожалуйста. Поиск по форуму конкретно не отвечает на мой вопрос.