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();
ADO AddNew - глючит, скотина!
Код:
Когда доходит до строки update, вылетает исключние "Неопознанная ошибка." Дальше, где-то я слышал, что иногда в таких случаях помогает requery. Но она тоже даёт иcключение "Unknown error 0x800A0BB9". Exectute(INSERT INTO ...) тоже даёт "Unknown error 0x800A0BB9". Есть смутное подозрение, что оно как-то связано с последним аргументом функции connection->open, но если его поставить в adModeReadWrite, то опять вылетает "Unknown error 0x800A0BB9".
В recordset'е, в который добавляется, лежит одна запись с 5ю полями.
Уже часов 20 бьюсь об это лбом и ничего не получается.
Заранее СПАСИБИЩЕ тому, кто прольёт свет на то, как от этого избавиться.
Впорос снимается! Всё было из-за связывания полей.