Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка из таблицы по дате [D7, Access]


Страницы:   1 2

alex-drob ©   (2008-07-28 17:26:00) 

Здравствуйте!
Не могу разобраться. Есть база с таблицей в которой поле dt типа DateTime, там записанно например
28.07.2008 14:12:17
в запросе такое условие:
WHERE info_prod.dt>=:pstart
параметр pstart=DateToStr(DT1.DateTime)
есле выбрать дату 28.07.2008 то запесь не выбериться а если
27.07.2008 то всё работает, как сделать чтобы при выборе 28.07.2008 запись выводилась?
Компанент TAdoDataSet


Правильный$Вася   (2008-07-29 11:27:00) [1]


> так что в таблице все данные заносятся > с точками и двоеточиями
> в любом случае

только не говори, что в таблице даты тоже в виде строк хранятся
бо лучше тебе тогда застрелиться


Loginov Dmitry   (2008-07-29 07:42:00) [2]

> я посматрел, в тексте программы добавление в таблицу записи
> тоже через formatdatetime так что в таблице все данные заносятся
> с точками и двоеточиями в любом случае


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


ЮЮ   (2008-07-29 05:08:00) [3]

> так что в таблице все данные заносятся с точками и двоеточиями
> в любом случае



> Есть база с таблицей в которой поле dt типа DateTime


Никаких точек и двоеточий в поле типа DateTime не хранится. Это просто число. Которое отображается в формате даты. Формат отображения можнл менять.


alex-drob   (2008-07-28 23:57:00) [4]


> DM.DataSet1.Parameters[0].AsDateTime := Trunc(DT1.DateTime);

спасибо, попробую так


alex-drob   (2008-07-28 23:55:00) [5]


> DT1.Date

так не работает и datetime не работает.
datetime почемуто возвращает только дату.


> А если юзер timeseparator в винде сменит, что делать будешь?

я посматрел, в тексте программы добавление в таблицу записи тоже через formatdatetime так что в таблице все данные заносятся с точками и двоеточиями в любом случае


Loginov Dmitry   (2008-07-28 23:54:00) [6]

> ну а как по другому сделать?


см [22]

только:
DM.DataSet1.Parameters[0].AsDateTime := Trunc(DT1.DateTime);


alex-drob   (2008-07-28 23:51:00) [7]

ну а как по другому сделать?


Loginov Dmitry   (2008-07-28 23:21:00) [8]

> всё разобрался спасибо
> DM.DataSet1.Parameters[0].Value:=FormatDateTime('dd.mm.yyyy
> 00:00:00',DT1.DateTime)


А если юзер timeseparator в винде сменит, что делать будешь?


Правильный$Вася   (2008-07-28 23:06:00) [9]


> DT1.DateTime - возвращает только 28.07.2008 а у меня запись
> ещё и время содержит. и мне нужно с 00:00:00

все опять навыворот
DateTime содержит время, потому и выбирается у тебя с учетом этого времени
если тебе время учитывать не надо (00:00), то возьми просто DT1.Date


alex-drob   (2008-07-28 23:02:00) [10]


> а что такое DT1?

TDataTimePicker


alex-drob   (2008-07-28 23:00:00) [11]


> DM.DataSet1.Parameters[0].Value:=DT1.DateTime

так не работает
не знаю почему но невыводяться данные за текущий день.
DT1.DateTime - возвращает только 28.07.2008 а у меня запись ещё и время содержит. и мне нужно с 00:00:00


Правильный$Вася   (2008-07-28 19:00:00) [12]


> ну а как по другому сделать???

DM.DataSet1.Parameters[0].Value:=DT1.DateTime


Val   (2008-07-28 18:50:00) [13]

у тебя же время всегда нулевое будет передаваться в параметр.
а что такое DT1?


alex-drob   (2008-07-28 18:11:00) [14]

ну а как по другому сделать???
так вроде бы всё работает


Медвежонок Пятачок   (2008-07-28 18:07:00) [15]

от слова "клинить"


Медвежонок Пятачок   (2008-07-28 18:06:00) [16]

мда. случай клинический.


alex-drob   (2008-07-28 18:03:00) [17]

всё разобрался спасибо
DM.DataSet1.Parameters[0].Value:=FormatDateTime('dd.mm.yyyy 00:00:00',DT1.DateTime)


Правильный$Вася   (2008-07-28 18:01:00) [18]


> DataSet1.Parameters[0].DataType:=ftDateTime;
> DataSet1.Parameters[0].Value:=DateToStr(DT1.DateTime);

от нахрена параметру типа дата присваивать строку? думать пробовал или только копипастить?


alex-drob   (2008-07-28 18:00:00) [19]


> Какой datetostr

убрал

но dt1.DateTime возвращает просто 28.07.2008 а мне нужно 28.07.2008 00:00:00
без этого всё равно не работает.


Медвежонок Пятачок   (2008-07-28 17:56:00) [20]

DataSet1.Parameters[0].Value:=DateToStr(DT1.DateTime);

Проснись уже, мужик.
Какой datetostr ?
Зачем?!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо