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

Вниз

Почему TDateField.Value возвращает неправильные значения???   Найти похожие ветки 

 
Sirus   (2002-08-22 12:08) [0]

Привет мастера...
Есть вопрос: Почему TDateField.Value возвращает неправильные значения вроде 00.00.0000 и 07.11.34323???


 
Mike Kouzmine   (2002-08-22 12:15) [1]

Возвращает, что есть и в том формате, который ты указываешь.
Вариант 1 - Не так присваиваешь
Вариант 2 - Не так смотришь


 
Sirus   (2002-08-22 12:35) [2]

Скажите где ошибка???

Var FDate:TDateField;
DtrDate:TDate;
Begin
Query1.Close;
Query1.Fields.Clear;
FDate:=TDateField.Create(Self);
FDate.FieldName:="DTR_DATE";
FDate.Name:=Query1.Name+FDate.FieldName;
FDate.Dataset:=Query1;
Query1.FieldDefs.Update;
Query1.SQL.Clear;
Query1.SQL.Add("select distinct(DTR_DATE) from SUBS_DTR");
Query1.SQL.Add("order by DTR_DATE");
Query1.Open;
Query1.Last;
DtrDate:=FDate.Value;
ShowMessage(DateToStr(DtrDate));
End;

В результате получаю дату типа: 05.07.21451...
В строку конвертируется... А обратно засунуть его в базу не получается... Invalid type conversion...
Попробовал FDate.AsString... результат строка типа 00.00.0000 которая естественно в переменную типа TDate не хочет переходить...


 
Johnmen   (2002-08-22 12:42) [3]

Это одна сплошная ошибка.....:(


 
Mike Kouzmine   (2002-08-22 12:43) [4]

Ну так ты же убиваешь поля. И что ты присваиваешь?


 
Mike Kouzmine   (2002-08-22 12:49) [5]

Извини, ошибся, просто глаза разбежались.....
Хотя я против таких вопросов, но все же, зачем это? Что ты хочешь сделать?


 
Sirus   (2002-08-22 12:55) [6]

Мне не нравятся значения типа NULL которые иногда встречаются в базе... Чтобы изюежать их мне приходится создавать поля, которые можно убирать и ставить заново в зависимости нужны они или нет...
Так вот.. я не вижу сплошной ошибки... тем более что все работает.... Правда неправильно.... И насчет убийства полей...
Я не догнал что значит убивать их... я просто убираю их...


 
Johnmen   (2002-08-22 13:01) [7]

Пойми, что у тебя каша в голове...(об этом свидетельствует вышеприведенный код)
Как это в базе значения типа NULL ?????!!!!!!
Как это создавать поля и убирать ?????!!!!!
.............
.............
.............


 
Sirus   (2002-08-22 13:15) [8]

Короче база на Interbase 5.5...
Есть таблица SUBS_DTR в которой есть поле DTR_DATE тип DATE...
Есть очень много записей... Среди них есть записи в которых значения поля SUBS_DTR нету, т.е. есть но NULL...
При обращении к полю DtrDate:=Query1.FieldValues["DTR_DATE"]; выскакивает ошибка... (типа не тот тип)... Если добавлять поля к которым можно обращаться на ты, т.е. Query1DTR_DATE.AsDate; не боясь значений типа NULL и вообще пустых значений...
Вот и приходится создавать поля которые вместо NULL возвращают вполне конвертируемые значения... А потом их нужно убирать потому-что компонент Query1 используется других запросов...


 
Mike Kouzmine   (2002-08-22 13:20) [9]

>>Так вот.. я не вижу сплошной ошибки... тем более что все >>работает.... Правда неправильно....
Если работает неправильно - значит не работает.
Если тебе не нравиться, что поля не имеют значений, то ставь по умолчанию, или присваивай им значения, а если нет, то есть другие стандартные способы.


 
Johnmen   (2002-08-22 13:26) [10]

DtrDate:=Query1.FieldByName("DTR_DATE").AsDateTime;


 
Sirus   (2002-08-22 13:34) [11]

> Johnmen ©
DtrDate:=Query1.FieldByName("DTR_DATE").AsDateTime;
Такое не прокатывает... Null есть Null...


 
ЮЮ   (2002-08-23 03:38) [12]

1.
if Query1.FieldByName("DTR_DATE"). isNull
then DtrDate:=0
else DtrDate:=Query1.FieldByName("DTR_DATE").AsDateTime;

2.
var VarDate:Variant;
...
VarDate:=Query1.FieldByName("DTR_DATE").AsDateTime;
if VarIsNull(VarDate) or VarIsEmpty(VarDate) then ...
if VarType(VarDate)=varDate then ...



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

Форум: "Базы";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
7-35931
SGrigory
2002-04-29 15:38
2002.09.12
Как скрыть приложение от Ctrl-Alt-Del в NT (XP)


1-35734
AFROLOV
2002-08-30 12:34
2002.09.12
Как передать интерфейс в качестве параметра?


3-35577
IGray
2002-08-20 15:09
2002.09.12
Тормозят ли Lookup-поля ?


1-35689
Sergey-ZZZ
2002-08-30 12:12
2002.09.12
Компоненты


1-35761
Lola
2002-08-30 15:10
2002.09.12
TRxLookupEdit.





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