• 4617阅读
  • 1回复

不能连接access数据库 [复制链接]

上一主题 下一主题
离线lavender
 
只看楼主 正序阅读 楼主  发表于: 2012-06-05
我有一个文件夹class_allocate,我的access数据库classroom.mdb就放在文件夹里,程序源代码也都放在class_allocate里面。
Qt的帮助文档里说用这一句来连接access数据库
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=classroom.mdb");

但这个方法不行,我不懂是为什么。还有另一种方法是在windows系统的控制面板里设置数据的源,然后在程序里直接写
db.setDatabaseName("classroom.mdb");
这样就能连接,但是我写的这个是要交的作业,不可能还让老师去整这个步骤,所以请大神们指教,为什么我连接不上数据库呢?
离线realfan

只看该作者 1楼 发表于: 2012-06-06
QString m_strConnName = "somedb"; //随便取个名
QSqlDatabase dbConn = QSqlDatabase::database(m_strConnName, false);
if(dbConn.isValid())//存在连接直接退出
{
    return false;
}
QSqlDatabase * m_pDB = new QSqlDatabase(QSqlDatabase::addDatabase("QODBC", m_strConnName));

QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%1;UID=%2;PWD=%3").arg(strMDBname).arg(strUserID).arg(strPassword);
m_pDB->setDatabaseName(dsn);
bool b = m_pDB->open();

这样用应该是可以的
快速回复
限100 字节
 
上一个 下一个