Update поля OLE в Access C#

Витушкин А.Е.

Приветствую!Пытаюсь обновить запись в таблице MSAccess 2003 (Поле объекта OLE) следующим образом:
private void UpdateDB(string sContent)// функция обновления записи
 {
 string sSQL = "update Descriptions set Descriptions.Description= @Descript_ where ID=" +
 public_ID; // строка SQL запроса
 using (OleDbConnection odbConn = new OleDbConnection(sConnectionString))// подключение к БД
 {
 try
 {
 OleDbCommand odbComm = new OleDbCommand(sSQL, odbConn);//команда работы с БД
 odbComm.Parameters.Add(GetParametr("@Descript_", sContent));// устанавливаем параметр
 // обновленных данных (см.ниже)
 odbConn.Open();//открываем БД
 odbComm.ExecuteNonQuery();// выполняем запрос
 }
 catch (Exception ex)
 {
 MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
 }
 finally
 {
 odbConn.Close();
 }
 }
 }
 
 private OleDbParameter GetParametr(string Key, string Source)//функция получения OleDBParameter
 {
 UnicodeEncoding uniEncode = new UnicodeEncoding();// \/
 byte[] bytesInfo = uniEncode.GetBytes(Source); // кодируем строку
 OleDbParameter odbPar = new OleDbParameter(Key, OleDbType.Binary); // создаем параметр
 odbPar.Value = bytesInfo; // присваиваем параметру значение
 
 return odbPar;
 }
код выполняется без ошибок, но результат нулевой... В чем может быть ошибка программера?
2 ответа

Витушкин А.Е.

для акцесса так не пойдёт. это специальный тип поля. в ADO есть специальный метод для этого AppendChunkвот смотрите пример: http://support.microsoft.com/kb/309158


Витушкин А.Е.

Konst_One внимательно изучил так любезно предоставленную Вами ссылку. К сожалению, ничего и не понял. В примере, приведенном в ссылке говорится (и делается - проверял) о добавлении строк в БД. Но данный аспект (именно добавление) меня мало интересует, т.к. добавление проходит без каких бы то ни было проблем (больших или малых). Если я не прав, прошу более подробно объяснить в чем именно.