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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2012, 13:26   #1
MaLaGuS
 
Регистрация: 22.11.2011
Сообщений: 8
Восклицание SQL между 2-мя датами

Здравствуйте! У меня такое задание:
Разработать и реализовать Базу данных по учету сведений о поступлении, продаже товара в книжном магазине.
пункт_1. Сформировать отчёты по закупкам и продажам за определённый период времени с использованием SQL.


Вообщем полазил в интернете нашел вроде как 2 способа:
1-ый
Цитата:
Form1.ADOQuery1.SQL.Text:='select postavky.ID_knigi,postavky.PCnt from postavky where postavky.PDate>=a and postavky.PDate<=b';
form1.ADOQuery1.Parameters.ParamByN ame('a').Value:=DateTimePicker3.Dat e;
form1.ADOQuery1.Parameters.ParamByN ame('b').Value:=DateTimePicker4.Dat e;
Form1.ADOQuery1.OPEN;
при выполнении данного запроса выходит ошибка: "Несоответствие типов данных в выражении условия отбора"


2-ой (нашел в одной из тем на данном форуме):
Цитата:
function DateToSQLStr(Date : TDate) : String ;
var d, m, y : word ;
begin
DecodeDate(Date, y, m, d) ;
Result:=IntToStr(d)+'/'+IntToStr(m)+'/'+IntToStr(y) ;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
Form1.ADOQuery1.Close;
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Text:='SELECT postavky.ID_knigi,postavky.PCnt FROM postavky WHERE postavky.PDate Between #'+DateToSQLStr(DateTimePicker3.Dat e)+'# and #'+DateToSQLStr(DateTimePicker4.Dat e)+'#';
Form1.ADOQuery1.Open;
Запрос выполняется, названия полей появляются, но данные не отображаются, хотя запись попадающая в выбираемый промежуток времени 100% существует.

Помогите пожалуйста разобраться.
MaLaGuS вне форума Ответить с цитированием
Старый 02.06.2012, 14:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
where postavky.PDate>=:a and postavky.PDate<=:b';
Двоеточие забыл написать )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.06.2012, 14:24   #3
MaLaGuS
 
Регистрация: 22.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
where postavky.PDate>=:a and postavky.PDate<=:b';
Двоеточие забыл написать )
Цитата:
form1.ADOQuery1.Parameters.ParamByN ame('a').Value:=DateTimePicker3.Dat e;
form1.ADOQuery1.Parameters.ParamByN ame('b').Value:=DateTimePicker4.Dat e;
Form1.ADOQuery1.SQL.Text:='select postavky.ID_knigi,postavky.PCnt from postavky where postavky.PDate>:=a and postavky.PDate<=:b';
Form1.ADOQuery1.OPEN;
записал так, теперь пишет что параметр "а" не задан...

Последний раз редактировалось MaLaGuS; 02.06.2012 в 14:30.
MaLaGuS вне форума Ответить с цитированием
Старый 02.06.2012, 15:01   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
Form1.ADOQuery1.SQL.Text:='SELECT postavky.ID_knigi,postavky.PCnt FROM postavky WHERE postavky.PDate>=:a and postavky.PDate<=:b';
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 02.06.2012, 15:36   #5
MaLaGuS
 
Регистрация: 22.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
Код:
Form1.ADOQuery1.SQL.Text:='SELECT postavky.ID_knigi,postavky.PCnt FROM postavky WHERE postavky.PDate>=:a and postavky.PDate<=:b';
заработало...в чем ошибка то была? вроде то текст тот же...
объясни пожалуйста)))
MaLaGuS вне форума Ответить с цитированием
Старый 02.06.2012, 15:47   #6
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

твой текст:
Код:
PDate>:=a
мой текст:
Код:
PDate>=:a
найди одно отличие
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 02.06.2012, 16:16   #7
MaLaGuS
 
Регистрация: 22.11.2011
Сообщений: 8
По умолчанию

ясно, спасибо большое)))
MaLaGuS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос между 2 датами Never74 БД в Delphi 6 18.12.2011 13:52
интервал между датами andrenisimus БД в Delphi 8 28.10.2010 14:05
Разница между датами kykysya Общие вопросы Delphi 8 26.03.2009 18:22
Разница между датами deenka БД в Delphi 3 31.01.2008 13:21