播放器的数据库第一步打算使用ACCESS,因为操作起来比较简单,打算数据库接口独立出来,以后方便升级。
想法是好的,但是使用QT链接ACCESS数据库,第一步就出现问题了,因为没有使用QT链接过ACCESS,所以为此耽误了一点时间,总是出现标题中的错误
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=d:/SongInfo.accdbR");
if(db.open()){
qDebug() << "Success";
}else{
qDebug() << "Errror!";
qDebug() << db.lastError().text();
}
1
2
3
4
5
6
7
8
9
QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=d:/SongInfo.accdbR");
if(db.open()){
qDebug()<
}else{
qDebug()<
qDebug()<
}
代码这样写应该是没有问题的,但是代码正确也不一定能连上。
一开始我是按照官方的例子这么写,因为我的数据库是ACCESS2016导出的,是accdb格式的,所以查了一下,应该按照上面的方式写,这是第一个问题,解决。
但是还是链接不上真让人头大
打开数据源管理(上面的图是我安装驱动之后的,所以没有提示了),它会提示没有安装相应驱动,他喵的,没装驱动你在这显示个毛(没有装驱动是不能配置的)。于是到微软官网去下载一个驱动,问题解决。附下载地址:
说来也奇怪,我的ACCESS都装好了竟然没有装驱动?这是几个意思?刚刚接触,具体我现在还不是很理解,慢慢悟。,。
Post Views:
13,453