Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.004 c
2-1217169031
AlexanderMS
2008-07-27 18:30
2008.09.07
Процедура, вызываемая при ошибке в программе.


2-1217280184
ekto
2008-07-29 01:23
2008.09.07
Метод Locate


3-1205487538
Bless
2008-03-14 12:38
2008.09.07
ADO 2.8 в MSDN и Delphi 7 - две большие разницы?


15-1215920776
boriskb
2008-07-13 07:46
2008.09.07
Бесплатная альтернатива


15-1216091674
КросавЧЕГ
2008-07-15 07:14
2008.09.07
Помогите оптимизировать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский