Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: Admin, stalker 
Форум » Все о Delphi » Базы данных » SQL-запрос на поиск
SQL-запрос на поиск
LANDERДата: Вторник, 26.05.2009, 20:12 | Сообщение # 1
Ранг 1
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
1. Ребят, такая ситуация: необходимо реализовать поиск фирм по введенному пользывателем в Edit году. Не знаю как вытащить из даты сам год. А простой запрос при вводе в эдит полной даты выглядит так (Дата - название поля в базе данных, base - название базы, формат даты 00.00.0000):

procedure TSearchForm.BitBtn1Click(Sender: TObject);
begin
DataModule1.FindQuery.Active:=false;
DataModule1.FindQuery.SQL.Clear;
DataModule1.FindQuery.SQL.Add('SELECT *');
DataModule1.FindQuery.SQL.Add('FROM base');
DataModule1.FindQuery.SQL.Add('WHERE Дата LIKE '''+FindEdit.Text+'''');
DataModule1.FindQuery.Active:=true;
Close;
end;

Как сделать так, чтобы при поиске вводился только год?

2. Вторая проблема такого рода. Все таже база данных скриншот которой ниже. Необходимо вывести фирму, которая чаще всего выступала в роли истца. Буду очень благодарен за помощь, так как самого языка SQL мы не изучали, а в курсовой есть!

Прикрепления: 8780369.png(9Kb)


Сообщение отредактировал LANDER - Вторник, 26.05.2009, 20:19
 
AdminДата: Вторник, 26.05.2009, 20:32 | Сообщение # 2
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Может быть пусть будет так, что пользователь будет вводить год, после чего будет формироваться полная дата, и подставляться в запрос. Можно попробовать сделать параметрическим запросом.

Не оказываю помощь через личные сообщения и ICQ
 
LANDERДата: Вторник, 26.05.2009, 21:13 | Сообщение # 3
Ранг 1
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
А пример можно? Мастером запросов нельзя - только SQL.

Сообщение отредактировал LANDER - Вторник, 26.05.2009, 22:11
 
AdminДата: Среда, 27.05.2009, 10:30 | Сообщение # 4
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Code
  if edit1.Text='' then exit;
   DataModule1.Query1.SQL.Clear;
   DataModule1.Query1.SQL.Add('select * From Zvonok where (nt=:x)');

   DataModule1.Query1.ParamByName('x').AsInteger:=StrToInt(Edit1.text);
   DataModule1.Query1.Open;

Тут nt - номер телефона. x - параметр, значение в который подставляется на предпоследней строчке. Ну Zvonok это название таблицы.


Не оказываю помощь через личные сообщения и ICQ
 
Форум » Все о Delphi » Базы данных » SQL-запрос на поиск
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz