Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.07;
Скачать: CL | DM;

Вниз

Выборка из таблицы по дате   Найти похожие ветки 

 
alex-drob ©   (2008-07-28 17:26) [0]

Здравствуйте!
Не могу разобраться. Есть база с таблицей в которой поле 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


 
stas ©   (2008-07-28 17:28) [1]

DT1.DateTime
DT1.Date


 
Медвежонок Пятачок ©   (2008-07-28 17:30) [2]

зачем тебе строковый параметр для поля типа TDateTime?


 
alex-drob ©   (2008-07-28 17:31) [3]

непомогло


 
alex-drob ©   (2008-07-28 17:32) [4]


> зачем тебе строковый параметр для поля типа TDateTime?

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


 
Медвежонок Пятачок ©   (2008-07-28 17:33) [5]

и правильно сделало что не помогло


 
stas ©   (2008-07-28 17:36) [6]

А что показывает ShowMessage(DateToStr(DT1.Date))


 
alex-drob ©   (2008-07-28 17:37) [7]


> Медвежонок Пятачок ©   (28.07.08 17:30) [2]

Удалил параметр вобще, а как теперь в sql запрос дату вставить?
ни так
WHERE info_prod.dt>="+DateToStr(DT1.Date)
ни так
WHERE info_prod.dt>="+QuotedStr(DateToStr(DT1.Date))

не работает, ошибка


 
alex-drob ©   (2008-07-28 17:38) [8]


> А что показывает ShowMessage(DateToStr(DT1.Date))

28.07.2008


 
stas ©   (2008-07-28 17:39) [9]

Дата должна быть заключена в #


 
Медвежонок Пятачок ©   (2008-07-28 17:39) [10]

Удалил параметр вобще, а как теперь в sql запрос дату вставить?

ай молодец.


 
stas ©   (2008-07-28 17:40) [11]

WHERE info_prod.dt>="+"#"+DateToStr(DT1.Date)+"#"
вроде так


 
Медвежонок Пятачок ©   (2008-07-28 17:41) [12]

Верни параметр взад. Но тип его смени на тот же что и у поля.


 
alex-drob ©   (2008-07-28 17:54) [13]


> WHERE info_prod.dt>="+"#"+DateToStr(DT1.Date)+"#"

Пишет что неправельный формат даты DT1.DateTime пробовал тоже ошибка


> Медвежонок Пятачок ©   (28.07.08 17:41) [12]

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


добавил строку DataType теперь вобще нужно 2007 год ставить чтобы заработало.

а в запросе както нужно указовать какой тип у pstart?


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

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

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


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


> Какой datetostr

убрал

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


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


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

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


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

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


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

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


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

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


 
alex-drob ©   (2008-07-28 18:11) [20]

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


 
Val ©   (2008-07-28 18:50) [21]

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


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


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

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


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


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

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


 
alex-drob ©   (2008-07-28 23:02) [24]


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

TDataTimePicker


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


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

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


 
Loginov Dmitry ©   (2008-07-28 23:21) [26]

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


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


 
alex-drob ©   (2008-07-28 23:51) [27]

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


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

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


см [22]

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


 
alex-drob ©   (2008-07-28 23:55) [29]


> DT1.Date

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


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

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


 
alex-drob ©   (2008-07-28 23:57) [30]


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

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


 
ЮЮ ©   (2008-07-29 05:08) [31]

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



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


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


 
Loginov Dmitry ©   (2008-07-29 07:42) [32]

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


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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.09.07;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.01 c
2-1216995994
h5who
2008-07-25 18:26
2008.09.07
Структуры и указатели


15-1215752865
Vlad Oshin
2008-07-11 09:07
2008.09.07
Задачка с подвохом, ибо пятница. Гарднера


2-1215903057
ply
2008-07-13 02:50
2008.09.07
увеличение времени исполнения запросов к БД


3-1204889422
Prohodil Mimo
2008-03-07 14:30
2008.09.07
Возможно ли составить SQL запрос с NULL?


15-1216189504
Гость
2008-07-16 10:25
2008.09.07
Replace all