OCI: "связь" с Oracle-овым типом DATE
Добавлено: 30 окт 2007, 15:18
Кто-нибудь может сказать КАК (и возможно ли вообще), КАКОЙ тип данных C++ можно использовать в OCIBindByPos и OCIDefineByPos к колонке с оракловым типом DATE ?
Некоторое время искал по документации, но так ничего и не удалось найти.
В итоге пришлось идти "через Альпы", т.е. с помощью преобразование нужных дата+время в/из строковый вид.
То есть, писать, например, так:
Затем связывать через OCIBindByPos переменную : DATE_STR_1 со строковым буфером (т.е. указывать тип данных SQLT_STR).
А перед выполнением оператора заполнять этот бувер датой+временем в символьном виде.
В обратную сторону (т.е. читать оракловую колотку типа DATE) та же фигня. Выводить в виде, к примеру, to_char (<date>, 'DD.MM.YYYY') а затем уже выцарапывать из строки по позициям нужные числа.
То есть, есть ли способ указать в OCIBindByPos и OCIDefineByPos какой-нибудь C-шный нестроковый тип данных для более удобных чтения/записи в/из оракловых таблиц данных из колонки DATE?
Заранее спасибо.
Некоторое время искал по документации, но так ничего и не удалось найти.
В итоге пришлось идти "через Альпы", т.е. с помощью преобразование нужных дата+время в/из строковый вид.
То есть, писать, например, так:
Код: Выделить всё
acInsertOP [] =
"Insert into DB values ("to_date ( :D ATE_STR_1, 'DD.MM.YYYY HH24:MI:SS')";
А перед выполнением оператора заполнять этот бувер датой+временем в символьном виде.
В обратную сторону (т.е. читать оракловую колотку типа DATE) та же фигня. Выводить в виде, к примеру, to_char (<date>, 'DD.MM.YYYY') а затем уже выцарапывать из строки по позициям нужные числа.
То есть, есть ли способ указать в OCIBindByPos и OCIDefineByPos какой-нибудь C-шный нестроковый тип данных для более удобных чтения/записи в/из оракловых таблиц данных из колонки DATE?
Заранее спасибо.