Qt 访问 MS Access 数据库 open error!

fetionone 2010-10-31 10:02:57
Ubuntu 9.10
qtsdk-2010.02

访问 MS Access 数据库
代码:
#include <QtCore/QCoreApplication>
#include <QtSql>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QSqlDatabase dbAc = QSqlDatabase::addDatabase("QODBC");
qDebug() << "ODBC driver valid?" << dbAc.isValid();

dbAc.setDatabaseName(QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=Files.mdb;UID=;PWD="));

qDebug()<<dbAc.databaseName();

if ( !dbAc.open("",""))
{ qDebug()<<"DB open error!"; }
else
{ qDebug()<<"DB open Sucess!"; }


return a.exec();
}


数据库打不开:

运行结果:
ODBC driver valid? true
"DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=Files.mdb;UID=;PWD="
DB open error!

请问这是什么原因啊???

多谢了
...全文
76 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dext 2010-11-01
  • 打赏
  • 举报
回复

#include <qapplication.h>
#include <qsqldatabase.h>
#include <qsqlquery.h>

#define DB_NaSCoM_DRIVER "QODBC3"
#define DB_NaSCoM_DBNAME "manoj"
#define DB_NaSCoM_USER "scicom"
#define DB_NaSCoM_PASSWD ""
#define DB_NaSCoM_HOST "hpstryker"

int main( int argc, char *argv[] )
{
QApplication app ( argc, argv, FALSE );

QSqlDatabase *defaultDB = QSqlDatabase::addDatabase(
DB_NaSCoM_DRIVER );
defaultDB->setDatabaseName( DB_NaSCoM_DBNAME );
defaultDB->setUserName( DB_NaSCoM_USER );
defaultDB->setPassword( DB_NaSCoM_PASSWD );
defaultDB->setHostName( DB_NaSCoM_HOST );

if ( defaultDB->open() ) {
// Database successfully opened; we can now issue SQL
commands.
QSqlQuery query(QString::null, defaultDB);
query.exec ("SELECT * FROM igifile");
if ( query.isActive()) {
While (query.next ()) {
qDebug (query.value (1).toString() + ": " +
query.value (2).toString ());
}
}
}
return 0;
}

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧