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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.06.2007, 21:39   #1
Sexyprogrammist
 
Аватар для Sexyprogrammist
 
Регистрация: 14.06.2007
Сообщений: 4
По умолчанию Как прописать запрос поиск????

Как прописать SQL Запрос.Чтоб поле из таблицы(DBGrid) Можно было найти только по первой букве??
Sexyprogrammist вне форума
Старый 15.06.2007, 21:48   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

select * from table where field like 'a%'

ЗЫ: Аватар супер!
Carbon вне форума
Старый 15.06.2007, 21:53   #3
Sexyprogrammist
 
Аватар для Sexyprogrammist
 
Регистрация: 14.06.2007
Сообщений: 4
По умолчанию

За аватар спасибо!А у меня до этого было так прописано!Как исправить:
procedure TForm2.RzButton4Click(Sender: TObject);
begin
Form2.ADOQuery1.Active:=false;
Form2.ADOQuery1.SQL.Clear;
Form2.ADOQuery1.SQL.Add('select *');
Form2.ADOQuery1.SQL.Add('From Ассортимент');
Form2.ADOQuery1.SQL.Add('WHERE Наименование LIKE '''+Edit1.Text+'''');
Form2.ADOQuery1.Active:=true;
end;
Ассортимент это название таблицы,А наименование это название поля!Помоги плиз!!!!!

Последний раз редактировалось Sexyprogrammist; 15.06.2007 в 21:56.
Sexyprogrammist вне форума
Старый 15.06.2007, 22:12   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

procedure TForm2.RzButton4Click(Sender: TObject);
begin
Form2.ADOQuery1.Active:=false;
Form2.ADOQuery1.SQL.Clear;
Form2.ADOQuery1.SQL.Add('select *');
Form2.ADOQuery1.SQL.Add('From Ассортимент');
Form2.ADOQuery1.SQL.Add('WHERE Наименование LIKE '''+Edit1.Text+'%''');
Form2.ADOQuery1.Active:=true;
end;

Обрати внимание на знак процента.
Carbon вне форума
Старый 15.06.2007, 22:24   #5
Sexyprogrammist
 
Аватар для Sexyprogrammist
 
Регистрация: 14.06.2007
Сообщений: 4
По умолчанию

Я твой должник!Спасибо большое!

должнИК? Мда... Аватар подходит ) //zetrix

Последний раз редактировалось zetrix; 16.06.2007 в 16:53.
Sexyprogrammist вне форума
Старый 18.06.2007, 13:50   #6
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

можно еще использовать фильтры... Но ,конечно select предпочтительнее....

if Length(FindEdit.Text)>0 then
DataModule1.BookTable.Filtered:=tru e
else
DataModule1.BookTable.Filtered:=fal se;

DataModule1.BookTable.Filter:='Имя поля >'''+FindEdit.Text+'''';



получается оно будет сравнивать введенное пользователем значение..
Но подсказка выше - более правильно ... Фильтры использовать можно, нооооооо как-то не красиво это все =)
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума
Старый 11.12.2009, 21:39   #7
Herly
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 118
По умолчанию

А если ещё чуток развить тему SQL запроса, возможно ли делать его одновременно по двум критериям поиска?
Например Через один Edit я ввожу Фамилию, а через другой имя, затем идёт запрос и в компонент Query записываются все фамилии совпадающие с введённой в Edit и все имена.
Если можно скиньте ссылочку на литературу, а то практически не знаком с языком програмирования, который применяется внутри SQL запроса.
Если всё откладывать на потом, то потом будет всё.
Herly вне форума
Старый 11.12.2009, 22:22   #8
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

все ссылочки на литературу есть в шапке подфорума
ориентировочно запрос будет строиться так
Код:
if Query1.Active then
  Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(format('select * from MyTable where first_name like %s or second_name like %s', [QuotedStr(Edit1.Text + '%'), QuotedStr(Edit2.Text + '%')]));
Query1.SQL.Open;
soleil@mmc вне форума
Старый 11.12.2009, 23:40   #9
Herly
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 118
По умолчанию

Вы не могли бы пояснить функцию Format и зачем нужно писать %s.
Если всё откладывать на потом, то потом будет всё.
Herly вне форума
Старый 11.12.2009, 23:58   #10
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от Herly Посмотреть сообщение
Вы не могли бы пояснить функцию Format и зачем нужно писать %s.
напиши код, выставь курсор на слово формат и нажми F1
вкратце - формат нужен, чтобы не писать нудно мильон конкатенаций кусочков строк - просто внутри функи все подставится в места, указанные таким образом
soleil@mmc вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в 2-ух таблицах через запрос icome Microsoft Office Access 3 26.08.2008 18:14
подскажите как прописать alexs2141 Помощь студентам 6 03.06.2008 14:32
Прописать в реестр Михаил Юрьевич Общие вопросы Delphi 4 02.02.2008 10:49
Как прописать в HKEY_CURRENT_USER ? UnD)eaD)Snake Общие вопросы Delphi 4 27.07.2007 21:52
Поиск через запрос Таня84 БД в Delphi 1 17.02.2007 02:52