Краткое описание задачи:
Надо открыть базу данных по пути "С:\db1.mdb" c помощью CDatabase.
Потом прочитать выборку с помощью CRecordset.
Делаю следующее:
CDatabase* newdb = new CDatabase;
newdb->Open( NULL, FALSE, FALSE, "ODBC;Driver={Microsoft Access Driver (*.mdb)};Dbq=С:\\db1.mdb", TRUE );
Всё пока прокатывает.
Класс CTableInfo — производный от CRecordset.
Переопределяю метод GetDefaultConnect:
CString CTableInfo::GetDefaultConnect()
{
return _T(m_pDatabase->GetConnect());
}
Далее при вызове метода Open() возникает сообщение:
"Драйвер ODBC не поддерживает динамических подмножеств данных"
Здравствуйте, Ушаков Иван, Вы писали:
УИ>Далее при вызове метода Open() возникает сообщение: УИ>"Драйвер ODBC не поддерживает динамических подмножеств данных"
Как говорится "Истина где-то рядом"!
Оказалось, чтобы открыть произвольный файл нужно было всего-навсего заменить bUseCursorLib c TRUE на FALSE:
newdb->Open( NULL, FALSE, FALSE,
_T("ODBC;DSN=База данных MS Access;DBQ=C:\\test.mdb;"), FALSE);
|!!!!!|
Всё превосходно работает!
Извините, если сильно отвлёк!!!