QT连接FireBird测试

根据上篇翻译的文档按部就班的进行测试,结果可以正常的连接到FireBird。这里有几个地方需要注意:

1.首先安装好QT、VS,以及FireBird后,编译iBase插件。设置好包含路径后可以顺利的编译。

2.建立测试程序后发现没有加载iBase驱动,这是因为程序找不到fbclient.dll所致,将其拷贝到exe文件目录下

3.连接数据库设置Firebird数据库路径时注意反斜线需要转义。

注意以上三点就可以轻松完成测试了。

代码如下:

#include "QSqlDatabase.h"
#include "QMessageBox.h"
#include <QSqlError>
#include <QSqlQuery>

 

 QStringList a = QSqlDatabase::drivers();
 QMessageBox::information(NULL, "", a.join("_"));
 QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
 db.setHostName("localhost");
 db.setUserName("sysdba");
 db.setPassword("masterkey");
 db.setDatabaseName("D:\\FBDatabase\\Test.fdb");
 if(!db.isValid())
 {
  QString lastError = db.lastError().text();
  QMessageBox::information(NULL, "", lastError);
 }
 if(!db.open())
 {
  QMessageBox::information(NULL, "","Error");
 }
 QSqlQuery qry = QSqlQuery("Select Count(*) From PERSON");
 qry.exec();
 qry.next();
 QMessageBox::information(NULL, "", qry.value(0).toString());

你可能感兴趣的:(数据库,测试,null,文档,exe,qt)