NULL в OLEDB
От: podaa Россия  
Дата: 24.11.05 11:37
Оценка:
Доброго времени суток!!!
всплыла потребность передать в хранимую процедуру (т.е. параметр DBPARAMIO_INPUT) значение NULL.
следуя указаниям букваря использовал макрос COLUMN_ENTRY_STATUS(2, m_param1,m_st_param1)
перед открытием честно присвоил m_st_param1 = DBSTATUS_S_ISNULL; (из MSDN — The value sent to the provider is NULL. The provider ignores the contents of the value and length parts of the consumer's buffer.)
процедурка тестовая — она просто возвращает 0 если переданный параметр NULL, иначе 1.
так вот — она все время возвращвет 1, т.е. NULL в неё не приходит... как быть?
просто в реальной базе это _очень_ важно — это признак создать новую запись или редактировать старую...
да еще параметр там хитрый — INPUT_OUTPUT, сможет ли OLEDB провайдер для oracle это переварить? или искать обходные пути...
P.S. в обратную сторону (т.е. при получении данных) работает без проблем — проверяю статус на DBSTATUS_S_ISNULL и если таковой имеется то там именно NULL...

Спасибо за внимание.
Re: NULL в OLEDB
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 24.11.05 12:35
Оценка:
Здравствуйте, podaa, Вы писали:

А через ADO проверял? Работает?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: NULL в OLEDB
От: podaa Россия  
Дата: 28.11.05 08:34
Оценка:
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Здравствуйте, podaa, Вы писали:


КД>А через ADO проверял? Работает?


через ADO не пробовал... так логично написано как это сделать в OLEDB... надо наверное посмотреть внутрях классов оберток — а делает ли чего OLEDB когда NULL пытаюсь передать. Может прояснится ситуация...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.