Форум: "Начинающим";
Текущий архив: 2008.09.07;
Скачать: [xml.tar.bz2];
ВнизВыборка из таблицы по дате Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.006 c