OberonCore
https://forum.oberoncore.ru/

Обнуляется поле Dates.Time
https://forum.oberoncore.ru/viewtopic.php?f=5&t=363
Страница 1 из 1

Автор:  Иван Кузьмицкий [ Четверг, 11 Январь, 2007 23:56 ]
Заголовок сообщения:  Обнуляется поле Dates.Time

Здравствуйте, уважаемые коллеги! Поздравляю с прошедшими праздниками и наступившими, наконец, буднями :)

Работаю с SQL и наткнулся на странную вещь.

Читаю запись - все поля нормально читаются, а поле типа Dates.Time обнуляется. Причём если сделать тип этого поля массивом символов, то прекрасно читается.

Ситуация - MySQL 4, драйвер ODBC 3.51, запись в таблице вот такая:

Код:
`prj` int(11) unsigned NOT NULL auto_increment,
`name` varchar(50) default NULL,
`startdate` date default NULL,
`enddate` date default NULL,
`starttime` time default NULL,
`endtime` time default NULL


В BlackBox для чтения этой записи объявлена структурка:
(блин, здесь как раз BlackBox не даёт скопировать в буфер обмена, поэтому приведу только проблемное поле записи)

Код:
TPrj = RECORD
   ...
   starttime* : Dates.Time;
   ...
END;


Все поля стоят в правильном порядке, и заполняются нормально, только starttime обнуляется.
Лог драйвера ODBC никакого криминала не показывает.

Собственно, у меня вопрос - как отыскать причину?

В модуле Sql.Odbc есть процедурка ReadTime, но я не представляю, как её распотрошить.

Автор:  Илья Ермаков [ Пятница, 12 Январь, 2007 01:12 ]
Заголовок сообщения: 

Здравствуйте, Иван!
Вас также со всеми прошедшими! :-)

Я некогда сталкивался с этой проблемой и проследил ее до самого конца...
А концом она уходит в ODBC-драйвер MySQL, нуль для полей типа времени приходит уже с ODBC API.
Тут только читать строково и преобразовывать...

Кстати, у нас в ОГУ студент писал курсовой по портированию MySQL API в BlackBox. Что-то он там сделал, но так до конца и не довел. Но большой кусок рутинной работы сделал.
Могу выложить эти заголовки. На них бы надо навернуть SqlDriver и вообще отвязаться от ODBC при работе с Майсиквелем.

Автор:  Борис Рюмшин [ Пятница, 12 Январь, 2007 01:34 ]
Заголовок сообщения: 

Могу присоветовать попробовать MySQL 5 и скачать самую последнюю версию драйвера ODBC (из 3-х, 5-я была кривая, но сейчас может и она работает). Там много чего исправлялось, возможно и это поправили. Сам еще не пробовал пока...

Автор:  Иван Кузьмицкий [ Суббота, 13 Январь, 2007 21:41 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Кстати, у нас в ОГУ студент писал курсовой по портированию MySQL API в BlackBox. Что-то он там сделал, но так до конца и не довел. Но большой кусок рутинной работы сделал.
Могу выложить эти заголовки. На них бы надо навернуть SqlDriver и вообще отвязаться от ODBC при работе с Майсиквелем.


Возможность избежать звена ODBC очень привлекательна, я и сам хотел этим заняться, но если уж что-то сделано - с радостью поковыряюсь :)

Автор:  Илья Ермаков [ Суббота, 13 Январь, 2007 21:59 ]
Заголовок сообщения: 

Поглядел я на то, что там есть...
Сделано очень немного, конечно - просто заголовок переведен, да и то - возможны ошибки, надо выверять.
Выкладываю, что есть:
http://forum.oberoncore.ru/files/363/libmysql.rar

Автор:  Борис Рюмшин [ Воскресенье, 14 Январь, 2007 02:00 ]
Заголовок сообщения: 

Надо иди с двух сторон - от того, что требуется для драйвера и от самой библиотеки libmysql... половина функций все равно не понадобится....

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/