Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2017, 14:50   #1
Rina276
 
Регистрация: 03.06.2017
Сообщений: 6
По умолчанию Запрос SQL

Как с помощью SQL ,сделать запрос чтобы искал по фамилии, прописываю
Код:
procedure TForm1.Edit1Change(Sender:TObject);
var help1, help2:string;
begin
  help1:='%'+Form1.Edit1.Text+'%';
  help2:=QuotedStr(help1);
  with Form1.ADOQuery1 do
  begin
    close;
    SQL.Clear;
    SQL.Add('Select * from infa where фамилия like' +help2+' ).....
  end;
end.
Нужен же Order by, выдает ошибку не хватает оператора, infa-это название таблицы откуда идет поиск по фамилии, Помогите пожалуйста кто разбирается с БД и SQL запросами,очень нужно., делаю сама, нужны советы как правильно сделать,заранее спасибо

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 22.06.2017 в 14:56.
Rina276 вне форума Ответить с цитированием
Старый 22.06.2017, 14:56   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
SQL.Add('Select * from infa where фамилия like' +help2+' ).....
Так и в программе с многоточием? )) Покажи полностью и после like в запросе пробел не помешает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.06.2017, 14:57   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

попробуйте так:

Код:

procedure TForm1.Edit1Change(Sender:TObject);
var help2:string;
begin
  help2:=QuotedStr('%'+Edit1.Text+'%');
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select * from infa where фамилия like ' +help2);
    Open
  end;
end;


Цитата:
Сообщение от Rina276 Посмотреть сообщение
Нужен же Order by, выдает ошибку не хватает оператора
а при чём здесь ORDER BY я не понял. у Вас в коде нет ORDER BY (если, конечно, он за ... не скрывается).
тогда показывайте свой код полностью, без вырезок.

Последний раз редактировалось Serge_Bliznykov; 22.06.2017 в 15:00.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.06.2017, 00:01   #4
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Rina276
Код:
help1, help2:
или 1 или 2 не нужно help1, help2:
xxbesoxx вне форума Ответить с цитированием
Старый 15.08.2017, 21:02   #5
Правильный Вася
Пользователь
 
Регистрация: 15.08.2017
Сообщений: 10
По умолчанию

используйте параметры
Код:
SQL.Add('Select * from infa where фамилия like :P0');
Params[0].AsString:=help2;
Правильный Вася вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос в sql 2005 - SQL Server a.n.o.n.i.m SQL, базы данных 8 31.03.2016 17:01
Написать скрипт, который выгрузит данные из файла в формате JSON, создаст SQL таблицу и написать SQL запрос Mangum Фриланс 3 11.03.2016 05:21
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15