Логин:     Забыли пароль?
 
Пароль:   Регистрация

Форум / Программирование - Delphi Вывод по дате  

Delphi Вывод по дате

Power4ik
Power4ik
Посетитель
Сообщения: 3
[Сообщение #1] 8 марта 2011, 23:29
здраствуйте, использую DBGird, ADOquery, ADOconnection, Datasource, i 2 edit поля. И так, есть база данных с некой инфой, Мне нужно чтобы в BDgird выводилась инфа по датам С ... до ... ( Дату указываю в Edit полях ). Я в Делфи новечок, попрошу все обяснить по подробней. В ADOquery SQL я прописываю
SELECT kas, info, summa, datums FROM izdevumi 
Where datums between '+edt4.Text' AND '+edt2.Text'
ORDER BY summa DESC
Но нечего не проесходет, Пустота... Но есле впсать вместо +edt4.Text и +edt2.Text
даты, допустем 2011.03.02 00:00:00 и 2011.03.02 23:59:59 то все отоброжается, в чем у меня ошибка? И как зделать чтобы, как только пользователь менял дату, менялась и таблица (Запрос по другой дате)

VKHacker
VKHacker
1-ый класс
Сообщения: 1
[Сообщение #2] 9 марта 2011, 00:52
'SELECT kas, info, summa, datums FROM izdevumi Where datums between ' + edt4.Text + ' AND ' + edt2.Text + ' ORDER BY summa DESC'

Может быть так?

Power4ik
Power4ik
Посетитель
Сообщения: 3
[Сообщение #3] 9 марта 2011, 01:14
Не помогло... открывается пустая таблица.

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #4] 9 марта 2011, 08:43
А может так?
'SELECT kas, info, summa, datums FROM izdevumi Where datums between ' + edt4.Text + ' AND ' + edt2.Text + ' ORDER BY
summa DESC'

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Power4ik
Power4ik
Посетитель
Сообщения: 3
[Сообщение #5] 9 марта 2011, 09:57
чем ваш вариант лутче VKHacker варианта

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #6] 9 марта 2011, 09:59

Цитата (Power4ik):

чем ваш вариант лутче VKHacker варианта

Не знаю, не проверял.

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
nar
nar
Посетитель
Сообщения: 3
[Сообщение #7] 11 марта 2011, 17:49
Ыть))
'SELECT kas, info, summa, datums FROM izdevumi
Where datums between '''+edt4.Text''' AND '''+edt2.Text'''
ORDER BY summa DESC'

nar
nar
Посетитель
Сообщения: 3
[Сообщение #8] 11 марта 2011, 17:51
ой плюс пропустил)
Ыть))
'SELECT kas, info, summa, datums FROM izdevumi
Where datums between '''+edt4.Text+''' AND '''+edt2.Text+'''
ORDER BY summa DESC'

Меньшенин
Меньшенин
Посетитель
Сообщения: 2
[Сообщение #9] 11 марта 2011, 21:49
Во-первых, в sql свой формат даты, и тебе, наверное не будет удобно им пользоваться: yyyy-MM-dd HH:mm для MSSQL
предлагаю сочинить функцию типа
function SQLDate( Value1: String ):String;
var Value: TDateTime;
begin

Value := StrToDate( Value1 );
Result := '''' + IntToStr(YearOf( Value )) + '.' + IntToStr(MonthOf( Year )) + '.' + IntToStr(DayOf( Value )) + '''';

end;

Во-вторых: кавычки пропустил ты в первом своем сообщении (дата в MSSQL обрамляется кавычками)

а запрос делать так:

SQL := 'SELECT kas, info, summa, datums FROM izdevumi
Where datums between '+ SQLDate(edt4.Text)+' AND '+SQLDate(edt2.Text)+' ORDER BY summa DESC'

при этом дата в поле edit4 должна быть меньше даты в edit2
ps. советую также поля TEdit заменить на TDateTimePicker,
тогда Value := StrToDate( Value1 ) не понадобится
pps. в JET формат даты такой: #MM/DD/YYY#


Всего сообщений: 9 (сейчас показаны: с 1 по 9)

Перейти в раздел:


 © 2004 - 2024, Delphi.int.ru
Версия форума: 1.10 (19.01.2010)
RSS Delphi.int.ru Expert Код
Выполнено за 0.02 сек.
Обратная связь