можно использовать JetSetColumns для замены значений JET_coltypLongBinary? - PullRequest
1 голос
/ 29 января 2011

если я вызываю JetSetColumn () для замены содержимого значения JET_coltypLongBinary, операция работает так, как я ожидаю - значение заменяется

однако, если я вызываю JetSetColumns (), значение не заменяется - вместо этогозначение остается на прежнем уровне.Как ни странно, другие столбцы (не длинные) обновляются, как ожидалось.Ошибка не возвращается.

То же самое происходит с JET_coltypLongText - меня интересует, нельзя ли использовать JetSetColumns () для длинных значений?

tips?

1 Ответ

1 голос
/ 31 января 2011

Возможно, вы не устанавливаете itagSequence в структуре JET_SETCOLUMN. Это неочевидная «особенность» API.

"Распространенная ошибка программирования при использовании ESENT - при обновлении значения столбца используется itagSequence 0 записи), но при обновлении записи по умолчанию будет создаваться новый экземпляр столбца вместо обновления существующего. Чтобы перезаписать существующий столбец, необходимо установить itagSequence, даже если столбец однозначный.

http://managedesent.codeplex.com/wikipage?title=MultiValueTutorial

...