Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.12.2011, 18:54
Never74 Never74 вне форума
Прохожий
 
Регистрация: 06.07.2011
Сообщения: 18
Репутация: 10
Вопрос SQL запрос между 2 датами

Приветствую всех, у меня сложная ситуация.

Задача: Сделать запрос с выполнением работ за какой-то определённый период времени (то есть по 2 дата...между 2 датами найти выполненые работы)...вот тока как сюда и условие про работы вписать даже не представляю....

Но данный запрос выдает ошибку и не работает
http://s017.radikal.ru/i425/1112/f4/99ad02838ba4.png

Код:
Data_Module_0.ADOQuery_Priem.Close;
Data_Module_0.ADOQuery_Priem.SQL.Clear;
Data_Module_0.ADOQuery_Priem.SQL.Add('SELECT * FROM Priem WHERE DatePay Between and '''+DateToStr(trunc(DateTimePicker1.Date))+''' and '''+DateToStr(trunc(DateTimePicker2.Date))+'''');
Data_Module_0.ADOQuery_Priem.ExecSQL;
Data_Module_0.ADOQuery_Priem.Open;

Помоги пожалуйста решить данную проблему.
Заранее спасибо
Ответить с цитированием
  #2  
Старый 17.12.2011, 20:57
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

следи за синтаксисом
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 18.12.2011, 08:33
Never74 Never74 вне форума
Прохожий
 
Регистрация: 06.07.2011
Сообщения: 18
Репутация: 10
Вопрос

Осталась тока одна проблема. Как добавить условие для поиска ещё по какому-нибудь полю в таблице.

С датами по диапазону получилось вот так и работает:
Код:
//Функция DateToSQLStr 
function DateToSQLStr(Date : TDate) : String ;
   var
      d, m, y : word ;
begin
   DecodeDate(Date, y, m, d) ;
   Result := IntToStr(d)+'/'+IntToStr(m)+'/'+IntToStr(y) ;
end ;

//Запрос на показ диапазона между 2 датами
Data_Module_0.ADOQuery_Priem.Close;
Data_Module_0.ADOQuery_Priem.SQL.Clear;
Data_Module_0.ADOQuery_Priem.SQL.Text := 'SELECT * FROM Priem WHERE Priem.Data_Priem between #' + DateToSQLStr(DateTimePicker1.Date) + '# and #' + DateToSQLStr(DateTimePicker2.Date) +'#';
Data_Module_0.ADOQuery_Priem.ExecSQL;
Data_Module_0.ADOQuery_Priem.Open;

Мне нужно добавить вот это условие, но как я не понимаю...
Код:
    with Data_Module_0 do Begin
 ADOQuery_Spr_Uslygi.Close;
 ADOQuery_Spr_Uslygi.SQL.Clear;
 ADOQuery_Spr_Uslygi.SQL.Add('Select * from Uslugas where Usluga like'''+'%'+Edit_Search.text+'%'+'''');
 ADOQuery_Spr_Uslygi.Open;
 end;

Последний раз редактировалось Never74, 18.12.2011 в 08:37.
Ответить с цитированием
  #4  
Старый 18.12.2011, 11:24
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Код:
select *
from Table1, Table2
where (условие 1) and (условие 2)
order by <признак сортировки>
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter