ODBC, Access, CRecordset, CDatabase
От: Ушаков Иван Россия  
Дата: 07.04.04 14:09
Оценка:
Здравствуйте!

Помогите найти ответ на следующий вопрос:

Краткое описание задачи:
Надо открыть базу данных по пути "С:\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 не поддерживает динамических подмножеств данных"

Помогите, кто может!!!

Заранее спасибо!
Re: ODBC, Access, CRecordset, CDatabase
От: Ушаков Иван Россия  
Дата: 12.04.04 12:52
Оценка:
Здравствуйте, Ушаков Иван, Вы писали:

УИ>Далее при вызове метода Open() возникает сообщение:

УИ>"Драйвер ODBC не поддерживает динамических подмножеств данных"

Как говорится "Истина где-то рядом"!
Оказалось, чтобы открыть произвольный файл нужно было всего-навсего заменить bUseCursorLib c TRUE на FALSE:

newdb->Open( NULL, FALSE, FALSE,
_T("ODBC;DSN=База данных MS Access;DBQ=C:\\test.mdb;"), FALSE);
|!!!!!|
Всё превосходно работает!
Извините, если сильно отвлёк!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.