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

Вниз

date & time trouble   Найти похожие ветки 

 
Roman_Tutov@mail.ru   (2002-03-28 16:29) [0]

почему компилятор не пропускает такие строки :

form1.Table1.FieldByName("DATE").AsDate :=DateTimePicker1.Date;
form1.Table1.FieldByName("TIME").AsTime :=Time;

Компилятор утверждает , что .AsDate и AsTime ему незнакомы
Может я какой модуль подключить забыл ?


 
Val   (2002-03-28 16:33) [1]

незнакомы для TDataSet, знакомы для TParam , выход -.asDateTime


 
Roman_Tutov@mail.ru   (2002-03-28 16:37) [2]

А какой тогда у меня должен быть формат таблицы под
это чудо ?


 
Val   (2002-03-28 16:49) [3]

где вы увидели чудо?


 
Roman_Tutov@mail.ru   (2002-03-28 16:54) [4]

Просто тип поля в базе может быль либо DATA либо TIME
а если пишу asDateTime в поле DATA ? то оно не пролазит :)


 
Val   (2002-03-28 17:03) [5]

:) пролазит


 
Roman_Tutov@mail.ru   (2002-03-28 17:17) [6]

Тогда можно примерчик ?
У меня не получается


 
Val   (2002-03-28 17:20) [7]

что не получается? Какая ошибка, отрывок кода, какая база?


 
Roman_Tutov@mail.ru   (2002-03-28 17:32) [8]

with form1.Frame81.Frame91.DbGrid1.DataSource.DataSet do
Try
With form1.Table1 Do
Begin
form1.Table1.Open;
form1.Table1.Insert;
form1.Table1.FieldByName("TIP").AsString :=Form1.Frame81.Frame101.DbGrid1.Fields[0].AsString;
form1.Table1.FieldByName("KOLVO").AsInteger :=SpinEdit1.Value;
form1.Table1.FieldByName("TSENA").AsInteger :=Form1.Frame81.Frame101.DbGrid1.Fields[2].AsInteger;
// form1.Table1.FieldByName("DATE").AsDateTime :=DateTimePicker1.Date;
// form1.Table1.FieldByName("DATE").AsDateTime :=date;

end;
except
Form1.frame21.Memo1.Lines.Add("!!!");
End;
Form13.Close;

база PARADOX
Заносит все поля кроме последнего (data)


 
Val   (2002-03-28 17:54) [9]

название его в таблице поменяйте -DATE -зарезервированное слово


 
Roman_Tutov@mail.ru   (2002-03-28 18:07) [10]

Поменял . Ничего не изменилось


 
Val   (2002-03-28 18:25) [11]

form1.Table1.FieldByName("MyField").AsDateTime :=date;
и это не работает? 8O


 
roman_tutov@mail.ru   (2002-03-28 18:36) [12]

Нет не работает. компилятор пропускает , а данные в таблицу
не попадают .

Программа заносит поля tip , kolvo , tsena ,
а при попытки вставить дату - except




 
Val   (2002-03-28 18:46) [13]

date-это у вас что -системная функция или ваша переменная?


 
roman_tutov@mail.ru   (2002-03-28 18:57) [14]

Я пока писал ,модератор ветку переместил

Это системная функция


 
Севостьянов Игорь   (2002-03-28 19:01) [15]

Вот тебе пример из Delphi Help
Table1.FieldByName("TimeStamp").AsDateTime := StrToDateTime(Now);

Раз они пишут, то так оно и есть

Represents the field’s value as a TDateTime value.

property AsDateTime: TDateTime;

Description

AsDateTime provides a property to read the value of the field’s data into an object or variable of type TDateTime, or to assign a TDateTime value to the contents of the field. TField does not support TDateTime values, and raises an exception whenever an attempt is made to get or set the AsDateTime property.

Descendants of TField that represent datetime (timestamp) fields or that support conversions between the field’s Value property and a TDateTime value, override AsDateTime to read and write the value of the field as a TDateTime value.


Или так ... пробуй

Table1.FieldByName("TimeStamp").Value := StrToDateTime(Now);

может прокатит это ?

Table1.FieldByName("TimeStamp").AsVariant := StrToDateTime(Now);



Или вот это посмотри точно где-то да будет ответ


TFieldType is a set of values that parallel the data types of fields in tables.


type TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid);

Description

TFieldType type is the set of values for the DataType property field objects, field definition objects, and parameter objects. Classes in which TFieldType values are used include TField (and descendants), TFieldDef, TParam, TParameter, and TAggregate. TFieldType values are also used in field-related functions and methods like TFieldDefs.Add. The following table describes each value:

Value Description

ftDate Date field
ftTime Time field
ftDateTime Date and time field


 
Val   (2002-03-28 19:02) [16]

эта системная функция тоже типа TDateTime, если вы видели. Странная, конечно, штука с парадоксом, попробуйте присвоить Trunc(Date)


 
Севостьянов Игорь   (2002-03-28 19:13) [17]

> Val
Ну не знаю как там насчет типов, но если в хелпе по делфи написано в примере
Table1.FieldByName("TimeStamp").AsDateTime := StrToDateTime(Now);
При этом function Now: TDateTime;


 
Bachin   (2002-03-28 20:23) [18]

> Севостьянов Игорь © (28.03.02 19:13)
не нашел такой пример :)

>roman_tutov@mail.ru
так как насчет кода/текста ошибки?


 
roman_tutov@mail.ru   (2002-03-29 10:10) [19]

всем привет .у меня следующий рабочий день .

Варианты не работают :
Table1.FieldByName("DATE1").AsDateTime:=DateTimePicker1.Date;
Table1.FieldByName("DATE1").AsDateTime :=Trunc(Date);

Несоответствие типов : (компилятор не пропускает)
Table1.FieldByName("DATE1").AsDateTime :=StrToDateTime(Now);
ЗЫ Как выловить код ошибки я не знаю .

ЗЫЫ. А может дату писать как текстовое поле ?
Что я при этом теряю ?


 
JibSkeart   (2002-03-29 10:32) [20]

Table1.FieldByName("DATE1").AsString :="01/01/2002";

попробуй хоть енто ради експеремента ...



 
roman_tutov@mail.ru   (2002-03-29 11:11) [21]

вопрос снят с повестки дня
Table1.FieldByName("Mifield").AsDateTime:=DateTimePicker1.Date;
Заработал после перезагрузки машины .

В чем было дело я не знаю .

Но всем огромное спасибо за помощь


 
Art1   (2002-03-29 11:20) [22]

Я не пойму, что за извраты? Нельзя по-нормальному?
У тебя было:
form1.Table1.FieldByName("DATE").AsDate :=DateTimePicker1.Date;
"Date" - резервированое слово, поэто поменяй имя на другое (поусть к примеру "Date1"), но формат поля пусть остается "Date" (но не "Data")и перепиши строку так:
Table1.FieldByName("DATE1").AsDateTime:=DateTimePicker1.Date;
и всё будет работать - 100% проверено. Не обращай внимания на то, что тип поля "Date", а ты пишеш ".AsDateTime". Дельфя сама прекрасно преобразовывает типы. Работает и с Paradоx, и с dBase базами данных.


 
roman_tutov@mail.ru   (2002-03-29 11:27) [23]

Хочется вставить свои 5 коп
>>Table1.FieldByName("DATE1").AsDateTime:=DateTimePicker1.Date;
DATE1 почему-то дельфя тоже считает зарезервированным словом .


 
Anatoly Podgoretsky   (2002-03-29 11:36) [24]

roman_tutov@mail.ru (29.03.02 11:27)
Как ты это определил?



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

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

Наверх





Память: 0.5 MB
Время: 0.007 c
1-57712
Gari
2002-04-08 11:48
2002.04.18
Прошу помощи!!!


1-57737
elf7
2002-04-05 10:25
2002.04.18
Директории TreeView


14-57852
Alex67
2002-03-10 12:50
2002.04.18
Русские надписи и WinXP


1-57668
khodov
2002-04-06 21:28
2002.04.18
Люди!!! Ткните мне, пожалуйста, пальцем в утечку памяти.


14-57844
KvORubin
2002-03-07 15:40
2002.04.18
Просчёт ВРЕМЕНИ затраченного на интернет !!!





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