|
#1
|
|||
|
|||
Отчет по датам
Народ. ай нид хэлп. база sql. Нужно сделать отчет из базы по дате. Начальная дата datetimepicker1, конечная datetimepicker2. Все понятно что нужно селектом фром и т.д. а вот что написать после where Date=...не знаю. подскажите пожалуйста
|
#2
|
||||
|
||||
Я за здоровый экстрим! Спасибо за "спасибо") |
#3
|
||||
|
||||
Where Date >= StartDate AND Date <= EndDate
|
#4
|
|||
|
|||
Цитата:
а как StartDate присвоить значение Datetimepicker1? |
#5
|
||||
|
||||
Код:
datetimepickler.date Я за здоровый экстрим! Спасибо за "спасибо") |
#6
|
|||
|
|||
Цитата:
т.е. StartDate:=datetimepickler.date? а как в Var объявить Startdate? каким типом? |
#7
|
||||
|
||||
Код:
Query.sql.text:='SELECT * FROM table WHERE date >= ' + datetostr(DateTimePickler1.date) + ' AND date <= ' + datetostr(DateTimePickler2.date); Query.open; Я за здоровый экстрим! Спасибо за "спасибо") |
#8
|
|||
|
|||
Цитата:
ругается на DateTimePickler1 пишет Undeclared Identifier |
#9
|
||||
|
||||
Жесть...
Не копируй тупо, там в названии ошибка, пиши DateTimePicker По памяти писал, че-то думал там l после k Я за здоровый экстрим! Спасибо за "спасибо") |
#10
|
|||
|
|||
Цитата:
пол дня уже с этим сижу, вот и не заметил... теперь пишет что неправильный синтаксис около '2013' |
#11
|
|||
|
|||
Цитата:
Угу, дату надо конвертировать в строку и квотить. Но тут вылезут разные другие бяки, типа формата, разного на клиенте и сервере. Лучше передавай через параметры: Код:
Query.sql.text:='SELECT * FROM table WHERE date between :startdate AND :enddate '; Query.ParamByName('startdate').AsDateTime :=DateTimePickler1.date; Query.ParamByName('enddate').AsDateTime :=DateTimePickler2.date; Query.open; Только посмотри, ParamByName может быть у Params, а не напрямую у Query... |
#12
|
|||
|
|||
Цитата:
пытался так сделать...у меня после Query.ParamByName('startdate'). не дает выбрать AsDateTime. почему может быть? |
#13
|
||||
|
||||
Цитата:
ну можно и не квотить, если про quotedtostr, т.к. циферки и даты мускл хавает без кавычек (только не надо так в веб-программировании делать, там лучше все в кавычки))) формат дат можно привести к одному с помощью функции formatdatetime... но параметрами, конечно же, лучше (наверное ) Я за здоровый экстрим! Спасибо за "спасибо") |
#14
|
|||
|
|||
Вот код для разных технологий доступа к БД (Delphi7):
Код:
// BDE Query1.ParamByName('param_name').AsDateTime := DateTimePicker1.Date; // ADO ADOQuery1.Parameters.ParamByName('param_name').Value := DateTimePicker1.Date; // IBX IBQuery1.ParamByName('param_name').AsDateTime := DateTimePicker1.Date; // dbExpress SQLQuery1.ParamByName('param_name').AsDateTime := DateTimePicker1.Date; Могу еще посмотреть в XE3. Но там, вроде, ничего нового нет, а FireDAC у меня нет. В ODAC (для Оракла), если мне память не изменяет, так же, как и в BDE. |
#15
|
|||
|
|||
Спасибо, помогло!
|