Поиск в БД

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Baistep
незнакомец
Сообщения: 7
Зарегистрирован: 18.04.2011 13:28:14

Поиск в БД

Сообщение Baistep »

Код: Выделить всё

st:= inputBox ('Поиск', 'Введите имя или фамилию','');
  if st<> '' then
  begin
  Adoquery1.Filtered:=false;
  Adoquery1.Filter:='name Like ''%'+st+'%''';
  Adoquery1.Filtered:=true;
  if Adoquery1.RecordCount=0 then
  begin
  Adoquery1.Filtered:=false;
  ShowMessage ('В БД нет записей удовлетворяющих запросу')
  end;
  end;


Это поиск по имени и фамилии помогите переделать под поиск по году. Плз
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

А что дашь?
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

Учимся пользоваться тегом code
Baistep
незнакомец
Сообщения: 7
Зарегистрирован: 18.04.2011 13:28:14

Сообщение Baistep »

спасибо скажу)
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Спасибо не катит. Ты же как не знал, так и дальше знать не будешь.
Почитай книжки, и увидишь как это просто по году искать.
Baistep
незнакомец
Сообщения: 7
Зарегистрирован: 18.04.2011 13:28:14

Сообщение Baistep »

я читал и в нете искал там везде по дате 12.12.2011 а мне надо по году 2011 прост
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

Блин, чувак! Мне как раз нужен поиск по дате 12.12.2011!!! Весь инет перерыл - нигде не нашёл! Поделись ссылкой, а?!
ViTality
постоялец
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Сообщение ViTality »

Baistep писал(а):я читал и в нете искал там везде по дате 12.12.2011 а мне надо по году 2011 прост

ну дык и ищи даты в необходимом тебе диапазоне ;)
Аватара пользователя
wofs
постоялец
Сообщения: 379
Зарегистрирован: 05.10.2009 10:16:55
Откуда: Астрахань
Контактная информация:

Сообщение wofs »

Baistep писал(а):... а мне надо по году 2011 прост


например сформировать запрос так (подставив свои Table1, поля для выборки и поле вместо "Дата"):

Код: Выделить всё

FindQuery.SQL.Add('SELECT * FROM Table1 WHERE Дата BETWEEN '+QuotedStr('01.01.'+YearText.Text) AND QuotedStr('31.12.'+YearText.Text)+';');
Baistep
незнакомец
Сообщения: 7
Зарегистрирован: 18.04.2011 13:28:14

Сообщение Baistep »

Я переделал но чтот не пашет (( чё не так ?
ADOQuery.SQL.Add('SELECT * FROM contacts WHERE data BETWEEN '+QuotedStr('01.01.'+Edit1.Text) AND QuotedStr('31.12.'+Edit1.text.Text)+';');
Jargar
новенький
Сообщения: 21
Зарегистрирован: 06.11.2007 13:42:24

Сообщение Jargar »

Baistep писал(а):Я переделал но чтот не пашет (( чё не так ?
ADOQuery.SQL.Add('SELECT * FROM contacts WHERE data BETWEEN '+QuotedStr('01.01.'+Edit1.Text) AND QuotedStr('31.12.'+Edit1.text.Text)+';');


Edit1.text.Text <-------- наверное по этому
Baistep
незнакомец
Сообщения: 7
Зарегистрирован: 18.04.2011 13:28:14

Сообщение Baistep »

нет это я видел уже
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Видно, раз Add первым в списке autocompletion у SQL, то его и надо использовать? :(

Код: Выделить всё

ADOQuery.SQL.Text:='SELECT * FROM contacts WHERE data BETWEEN '+QuotedStr('01.01.'+Edit1.Text)+' AND '+QuotedStr('31.12.'+Edit1.Text);

или хотя бы

Код: Выделить всё

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('SELECT * FROM contacts WHERE data BETWEEN '+QuotedStr('01.01.'+Edit1.Text)+' AND '+QuotedStr('31.12.'+Edit1.Text));
Baistep
незнакомец
Сообщения: 7
Зарегистрирован: 18.04.2011 13:28:14

Сообщение Baistep »

всё без проблем компилируется а ничего не ижет прост пустую таблицу кажеть(((
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Код: Выделить всё

ADOQuery.Open;
Ответить