Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];

Вниз

MSSQL2000. Возврат значения поля даты - мм.дд.гггг   Найти похожие ветки 

 
Vlad Oshin ©   (2007-04-12 14:42) [0]

Локальные настройки правильные.дд.мм.гггг
На сервере() время правильно(системное)

Как начинаю сравнивать
     if ADOQueryDa.FieldByName("DateOff").AsDateTime > tdatetime(now)
        then ttemS:="<img src="../images/new3.gif" border="0">"
        else ttemS:="";
так и выясняется, что он принимает дату иначе чем дд.мм.гггг

Надо сказать чтоб было дд.мм.гггг
как?


 
Desdechado ©   (2007-04-12 15:22) [1]

Йо! Ты давно уже вопросы задаешь, а все как в детсаду...
И где у тебя тут "он принимает дату иначе чем дд.мм.гггг"? Кто "он"? Кому "Надо сказать"?


 
Ega23 ©   (2007-04-12 15:26) [2]


> tdatetime(now)


Зачем???


>  if ADOQueryDa.FieldByName("DateOff").AsDateTime > tdatetime(now)


Чему равно значение ADOQueryDa.FieldByName("DateOff").AsDateTime?


 
stone ©   (2007-04-12 15:51) [3]


> так и выясняется, что он принимает дату иначе чем дд.мм.
> гггг

Естественно, дата она вообще-то число с плавающей точкой. Все эти дд.мм.гггг лишь графическое отображение. Соответственно, либо сравнивай число с чилом (не забывай, что она еще и время содержит полсе запятой), либо приводи к одинаковому формату.


 
Vlad Oshin ©   (2007-04-12 16:04) [4]


> Чему равно значение ADOQueryDa.FieldByName("DateOff").AsDateTime?

04.12.2007, т.е. мм.дд.ггггг
12.04.2007 должно быть, т.е дд.мм.гггг


> Desdechado ©   (12.04.07 15:22) [1]
> 1где у тебя тут "он принимает дату иначе чем дд.мм.гггг"?
>  2Кто "он"? 3Кому "Надо сказать"?

1 наверное, сервер sql, может и ado гдето внутри, не знаю, потому и спрашиваю
потому как равенство на сегодняшнюю дату не выполняется
ADOQueryDa.FieldByName("DateOff").AsDateTime > tdatetime(now)
2 наверное он же
3 наверное ему же

Йо! Что ж непонятного: ответ приходит не в том формате - не дд.мм.гггг, а мм,дд,гггг. Надо гдето что-то прописать или в программе или на сервере, или еще гдето.
ну, я так думаю.

не, правда, неужели непонятно написан был вопрос?
тогда, да,  надо мне поучится задавать вопросы..


 
Vlad Oshin ©   (2007-04-12 16:16) [5]


> stone ©   (12.04.07 15:51) [3]

да это понятно,
вот и спрашиваю, как?
как привести к
> к одинаковому формату.


сначала заносил - insert into .. values ( ..,datetime(now), ..)

теперь сравниваю
if ADOQueryDa.FieldByName("DateOff").AsDateTime > tdatetime(now)

может есть что-то типа ADOQueryDa.formatdate(формат)?

PS
Да я бы не спрашивал, сделал бы
> число с чилом

придумал бы какие-нибудь, типа, datetofloat

но хочется по-человечески, наглядно. Чтоб открыть таблицу, и видно было - это тогда было занесено, это тогда и т.п.
Если что - ручками чтоб мог человек, далекий от всего этого, переправить в дбгриде.


 
Johnmen ©   (2007-04-12 16:17) [6]


> Vlad Oshin ©   (12.04.07 16:04) [4]
> > Чему равно значение ADOQueryDa.FieldByName("DateOff").AsDateTime?
> 04.12.2007, т.е. мм.дд.ггггг

Каким образом численное значение м.б. равно строковому?


 
stone ©   (2007-04-12 16:22) [7]


> Vlad Oshin ©   (12.04.07 16:16) [5]

Давай мухи отдельно - котлеты отдельно.

> if ADOQueryDa.FieldByName("DateOff").AsDateTime > tdatetime(now)

Во-первых, не надо tdatetime(now), достаточно просто now.
Во-вторых, не забывай что DateTime содержит и время, соответственоо если у тебя в ("DateOff").AsDateTime просто дата без времени(например сегодня), то она всегда будет меньше now.


> но хочется по-человечески, наглядно. Чтоб открыть таблицу,
>  и видно было - это тогда было занесено, это тогда и т.п.
>
> Если что - ручками чтоб мог человек, далекий от всего этого,
>  переправить в дбгриде.

Для этого у поля существуют свойства DisplayFormat и EditFormat


 
Vlad Oshin ©   (2007-04-12 16:37) [8]


> Во-первых, не надо tdatetime(now), достаточно просто now.
>  

по идеи да, и так и было, это я потом привел


> Во-вторых, не забывай что DateTime содержит и время, соответственоо
> если у тебя в ("DateOff").AsDateTime просто дата без времени(например
> сегодня), то она всегда будет меньше now.

log(floattostr(ADOQuery1.FieldByName("DateOff").Asdatetime)+" "+floattostr(tdatetime(now)));

39420 > 39183,6869014005


> Johnmen ©   (12.04.07 16:17) [6]

выше, если числа приводить


 
Плохиш ©   (2007-04-12 16:44) [9]


> Vlad Oshin ©   (12.04.07 16:04) [4]
>
> > Чему равно значение ADOQueryDa.FieldByName("DateOff").
> AsDateTime?
>
> 04.12.2007, т.е. мм.дд.ггггг
> 12.04.2007 должно быть, т.е дд.мм.гггг

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


 
SlymRO ©   (2007-04-12 16:46) [10]

Int(Now)?


 
Desdechado ©   (2007-04-12 16:46) [11]

Тогда остается выяснить тип поля DateOff, которое содержится в наборе данных. Если оно у тебя строковое, тогда могут быть проблемы.

ЗЫ А вопросы ты задавать не умеешь, так же как и отвечатьна наводящие. Не все на твоей волне гуляют.


 
SlymRO ©   (2007-04-12 16:47) [12]

Плохиш ©   (12.04.07 16:44) [9]
даты в виде текста

FieldByName("DateOff").Asdatetime


 
Johnmen ©   (2007-04-12 16:53) [13]


> SlymRO ©   (12.04.07 16:47) [12]
>> Плохиш ©   (12.04.07 16:44) [9]
>> даты в виде текста
>FieldByName("DateOff").Asdatetime

Это ничего не значит.


 
SlymRO ©   (2007-04-12 16:59) [14]

if not (ADOTable1.FieldByName("DateOff").DataType in [ftDate, ftTime, ftDateTime]) then raise exception.cre...


 
Плохиш ©   (2007-04-12 17:03) [15]


> SlymRO ©   (12.04.07 16:47) [12]
> Плохиш ©   (12.04.07 16:44) [9]
> даты в виде текста
> FieldByName("DateOff").Asdatetime

Это уже читают результат работы того горе-программиста.


 
Vlad Oshin ©   (2007-04-12 18:24) [16]

спасибо, разобрался. Перегнал все таблицы


 
Desdechado ©   (2007-04-12 18:27) [17]

> Перегнал все таблицы
В сибирь?


 
Vlad Oshin ©   (2007-04-12 19:13) [18]

:)
во временные, потом назад более корректно

Спасибо еще раз,
и извинения :)



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

Форум: "Начинающим";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.041 c
15-1175087034
Awex
2007-03-28 17:03
2007.04.29
Delphi for PHP - г... в массы??


15-1175600907
Vlad Oshin
2007-04-03 15:48
2007.04.29
О потерях памяти программой, и ситуации после ее завершения


15-1175441219
SkySpeed
2007-04-01 19:26
2007.04.29
Помогите вывести "V" из формулы...


2-1175109539
arturich
2007-03-28 23:18
2007.04.29
Перевести буквы на другой язык


2-1176053929
Baffi
2007-04-08 21:38
2007.04.29
отчет в Excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский