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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2008, 23:24   #1
SlavyanD
Новичок
Джуниор
 
Регистрация: 06.04.2008
Сообщений: 2
По умолчанию DateTimePicker и SQL запрос

Доброго времени суток, у меня такой вопрос как вставить дату в sql запрос из DateTimePicker. Приложение соединяется через ADO c MS SQL 2005.
SlavyanD вне форума Ответить с цитированием
Старый 07.04.2008, 07:22   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

SELECT * FROM Table WHERE Data = :P1

ADOQuery1.Parameters[0].Value := DateTimePicker1.Date

и т.д.
Баламут вне форума Ответить с цитированием
Старый 10.04.2008, 19:13   #3
SlavyanD
Новичок
Джуниор
 
Регистрация: 06.04.2008
Сообщений: 2
По умолчанию

Спасибо, но для меня это не подошло. Я реализовал все следующим образом, привожу пример, может кому пригодится:
Цитата:
procedure TMainFormDem.BitBtnFiltrDateClick(S ender: TObject);
begin
DataModuleSQL.ADOQueryDemand.Close;
DataModuleSQL.ADOQueryDemand.SQL.Cl ear;
Dat1:= FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date);
Dat2:= FormatDateTime('yyyy-mm-dd', DateTimePicker2.Date);
DataModuleSQL.ADOQueryDemand.SQL.Ad d(' ***Запрос***‘)ж
d1:= 'AND (DateArrival BETWEEN CONVERT(DATETIME,'+ ''''+ Dat1 +''''+', 102) AND CONVERT(DATETIME,'+''''+ Dat2 +''''+', 102))';
DataModuleSQL.ADOQueryDemand.SQL.Ad d(d1);
DataModuleSQL.ADOQueryDemand.Open;
end;
Это для тех кто использует MS SQL SERVER.
SlavyanD вне форума Ответить с цитированием
Старый 24.11.2011, 18:23   #4
mmihan
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 30
По умолчанию

я тоже бился долго.. но у меня вот так .. тоже для ms sql

Код:

var

 dt1,dt2:Tdate;
 begin

dt1:=DateTimePicker1.DateTime;


dt2:=DateTimePicker2.DateTime;

//Осуществляем поиск

ADOQuery1.Close; {деактивируем запрос в качестве одной из мер предосторожности}
ADOQuery1.SQL.Clear; {стираем предыдущий запрос}
.... часть sql запроса 
 ([Дата поступления] BeTwEEN '+QuotedStr(FormatDateTime('yyyy-MM-dd',dt1))+'   AND '+QuotedStr(FormatDateTime('yyyy-MM-dd',dt2))+'  )


......
 ADOQuery1.Open; {выполняем запрос}
ADOQuery1.Active:=true;
 DataSource1.DataSet:=ADOQuery1;
 DbGrid1.DataSource:=DataSource1;
mmihan вне форума Ответить с цитированием
Старый 25.11.2011, 02:50   #5
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А вот это к сожалению идиотизм
Код:
BeTwEEN '+QuotedStr(FormatDateTime('yyyy-MM-dd',dt1))+'   AND '+QuotedStr(FormatDateTime('yyyy-MM-dd',dt2))+'  )
Меняем региональные настройки на сервере. И ваша программа перестает работать. Только параметры. Если не получается ищем инфу и разбираемся в чем проблема.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 25.11.2011, 10:10   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

rdama +1

если нужно использовать дату/время в запросах, то только использование параметрических запросов могут реально помочь.
Всё остальное грабли и костыли...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DateTimePicker в DBGrid Alex_76 Помощь студентам 4 20.06.2008 15:21
DateTimePicker и API Андрей= Win Api 5 22.04.2008 15:21
DateTimePicker Delphi GAGARIN-NEW Помощь студентам 7 06.12.2007 15:23
Вопросы DateTimePicker Askat БД в Delphi 14 29.06.2007 18:53
DateTimePicker + Label krem Компоненты Delphi 2 10.05.2007 16:36