Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ADO AddNew - глючит, скотина!

5.1K
24 марта 2007 года
Fess exe
19 / / 21.05.2004
Есть такой код:
Код:
connection.CreateInstance (__uuidof (Connection));
connection->Open("D:\\testdb.mdb",
           _bstr_t(""),
           _bstr_t(""),
           adConnectUnspecified);

recordset.CreateInstance (__uuidof (Recordset));
recordset->CursorLocation = adUseClient;
recordset->Open((_bstr_t)tablename, connection.GetInterfacePtr(), adOpenKeyset, adLockOptimistic, adCmdTable);

recordset->AddNew();

//recordset->Requery(NULL);

(recordset->Fields->Item["Title"])->Value=_T("Changed!");
(recordset->Fields->Item["Comment"])->Value=_T("Changed!");

recordset->Update();


Когда доходит до строки update, вылетает исключние "Неопознанная ошибка." Дальше, где-то я слышал, что иногда в таких случаях помогает requery. Но она тоже даёт иcключение "Unknown error 0x800A0BB9". Exectute(INSERT INTO ...) тоже даёт "Unknown error 0x800A0BB9". Есть смутное подозрение, что оно как-то связано с последним аргументом функции connection->open, но если его поставить в adModeReadWrite, то опять вылетает "Unknown error 0x800A0BB9".

В recordset'е, в который добавляется, лежит одна запись с 5ю полями.

Уже часов 20 бьюсь об это лбом и ничего не получается.

Заранее СПАСИБИЩЕ тому, кто прольёт свет на то, как от этого избавиться.
5.1K
24 марта 2007 года
Fess exe
19 / / 21.05.2004
Впорос снимается! Всё было из-за связывания полей.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог