Не могу вставить в базу NULL или пустую строку. ADO бросается исключением в тот момент, когда пытаюсь параметризировать команду.
Текст исключения: "Parameter object is improperly defined. Inconsistent or incomplete information
was provided.". Пробовал указывать adEmpty + _variant_t типа VT_EMPTY или VT_NULL, в общем чего только не пробовал, никак. Кто нибудь сталкивался с такой проблемой? Поискал в интернете, нашел, что парни решали тем, что вставляли пробел, но мне, к сожалению, это не подходит. Помогите, кто чем может, в общем! :)
:crash: :xz:
КД>В ряде случаем, вместо sizeof(BSTR) можно передавать -1
Здравствуйте, теперь столкнулся с другой проблемой, когда в базе пустая строка, я получаю _variant_t типа VT_BSTR, SysStringLen(var_->bstrVal) возвращает 4, в итоге я получаю строку " ", хотя на самом деле в базе "". Как это лечится? Заранее спасибо.
Годы прибавляют опыт только разумному человеку, но ум не зависит от возраста.
Re[3]: MSSQL 2000, ADO, can not insert empty string and/or N
Здравствуйте, JetSnaiL, Вы писали:
JSL>Здравствуйте, теперь столкнулся с другой проблемой, когда в базе пустая строка, я получаю _variant_t типа VT_BSTR, SysStringLen(var_->bstrVal) возвращает 4, в итоге я получаю строку " ", хотя на самом деле в базе "". Как это лечится? Заранее спасибо.
Сдается мне, у тебя тип колонки CHAR(4), а не VARCHAR(4). Поэтому и пробелы для якобы пустой строки получаешь.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[4]: MSSQL 2000, ADO, can not insert empty string and/or N
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Здравствуйте, JetSnaiL, Вы писали:
JSL>>Здравствуйте, теперь столкнулся с другой проблемой, когда в базе пустая строка, я получаю _variant_t типа VT_BSTR, SysStringLen(var_->bstrVal) возвращает 4, в итоге я получаю строку " ", хотя на самом деле в базе "". Как это лечится? Заранее спасибо.
КД>Сдается мне, у тебя тип колонки CHAR(4), а не VARCHAR(4). Поэтому и пробелы для якобы пустой строки получаешь.
На самом деле у меня varchar(128). Я ожидаю, что ADO вернет мне VT_EMPTY или хотябы VT_BSTR нулевого размера, а он мне чушь какую-то дает :-(
Годы прибавляют опыт только разумному человеку, но ум не зависит от возраста.
Re[5]: MSSQL 2000, ADO, can not insert empty string and/or N
Здравствуйте, JetSnaiL, Вы писали:
КД>>Сдается мне, у тебя тип колонки CHAR(4), а не VARCHAR(4). Поэтому и пробелы для якобы пустой строки получаешь.
JSL>На самом деле у меня varchar(128). Я ожидаю, что ADO вернет мне VT_EMPTY или хотябы VT_BSTR нулевого размера, а он мне чушь какую-то дает
Охинея какая-та. Ты все правильно у себя в коде напутал?
А на маленьком тестовом примере это воспроизводится?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[6]: MSSQL 2000, ADO, can not insert empty string and/or N
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Здравствуйте, JetSnaiL, Вы писали:
КД>>>Сдается мне, у тебя тип колонки CHAR(4), а не VARCHAR(4). Поэтому и пробелы для якобы пустой строки получаешь.
JSL>>На самом деле у меня varchar(128). Я ожидаю, что ADO вернет мне VT_EMPTY или хотябы VT_BSTR нулевого размера, а он мне чушь какую-то дает :-(
КД>Охинея какая-та. Ты все правильно у себя в коде напутал?
КД>А на маленьком тестовом примере это воспроизводится?
Да, у меня там и так немного кода.
В общем я в панике.. сейчас сижу что-то эксперементирую.
Годы прибавляют опыт только разумному человеку, но ум не зависит от возраста.