菜鸟求助!vs2012+Qt5.2.1环境下利用ODBC访问Access数据库
环境:Win7 64位系统,VS2012+Qt5.2.1
实现:利用ODBC访问Access数据库。
故障代码:
driverError QODBC3:unable to connect
databaseerror [Microsoft][ODBC驱动器管理器]未发现数据源名称并且未指定默认驱动程序
errorType ConnectionError(1)
errorNumber 0
代码:
void DBTest :: DBConnect ()
{
int a = 0 ;
QSqlDatabase dbTest = QSqlDatabase::addDatabase("QODBC");
if ( dbTest.isValid() )
{
a = 1 ; //成功
}
QStringList listDrivers = dbTest .drivers () ; // 返回值包含有QODBC,QODBC3
QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb,*.accdb)};FIL={MS Access};DBQ=f:\\TEST.mdb") ;
dbTest .setDatabaseName(dsn);
if ( dbTest.open() )
{
a = 2 ; // 无法执行到该语句,即open()返回false
}
QSqlError err = dbTest.lastError();
QString strText = err.text();
return ;
}
open()返回false。
以上代码在其他运行环境下执行时,open()返回true。
请大神不吝赐教!分不多,别嫌弃。