2015-11-09 3 views
0

Я использую этот код:Как преобразовать SQLite DATE в TDate?

DateTimePicker1.Date := SQLQuery1.FieldByName('birthday').Value; 

Но это дает мне сообщение об ошибке:

Не удалось преобразовать вариант типа (UnicodeString) в тип (Двухместный).

Я также попробовал этот код:

DateTimePicker1.Date := VarToDateTime(SQLQuery1.FieldByName('birthday').Value); 

К сожалению, это дает мне сообщение об ошибке:

Не удалось преобразовать вариант типа (UnicodeString) в тип (Дата)

Примечание: Я использую базу данных SQLite. тип данных поля «день рождения» - дата.

Спасибо, продвинутый!

+2

Это не имеет ничего общего со временем дата сборщиков. Вам нужно получить дату с вашего дБ. Почему вы сохранили дату в виде строки? –

+1

Вы пробовали DateTimePicker1.Date: = SQLQuery1.FieldByName ('birthday'). AsDateTime; –

+0

В дополнение к другим комментариям, вы должны избегать привычки обращаться к полю базы данных через свое свойство .Value. Это возвращает вариант. Используй вместо этого вместо «.AsString.», «.AsFloat», «AsDateTime» и т. Д. – MartynA

ответ

0

Этот код на самом деле работает хорошо, если значение SQLQuery1.FieldByName («день рождения») не NULL:

DateTimePicker1.Date := VarToDateTime(SQLQuery1.FieldByName('birthday').Value); 
комментарий

г-н Дэвид Heffman помог мне понять, что, когда день рождения поле (тип данных DATE) запрашиваются с значением NULL, он возвращает сообщение об ошибке, говорящее:

Не удалось преобразовать вариант типа (UnicodeString) в тип (Date).

Таким образом, мне удалось это сделать, чтобы решить мою проблему:

if not SQLQuery1.FieldByName('birthday').IsNull then 
    DateTimePicker1.Date := VarToDateTime(SQLQuery1.FieldByName('birthday').Value); 
+2

Рад, что вы нашли ответ, но в следующий раз, пожалуйста, напишите лучший вопрос, включив детали, такие как информация о версии, которую я просил; читатели не должны угадать эти вещи. – MartynA

+0

@MartynA Я благодарен за все, что я узнал здесь, в сообществе stackoverflow. Ну, я просто программист-хобби, и я возьму здесь все великие советы от мастеров. – Wennie

Смежные вопросы