测试oracle 数据库与qt连接是否成功

哎哎10年前 (2015-05-06)数据库4213
#include <QApplication>
#include <QtSql/QOCIDriver>
#include <QtSql/QSqlDatabase>
#include <qtextcodec.h>
#include <QtSql/qsqlquery.h>
#include <QtSql/QSqlDriver>
#include <QDebug>
#include <qvariant.h>
#include <QtGui/qtableview.h>
#include <QSqlTableModel>

int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

 QSqlDatabase orcl = QSqlDatabase::addDatabase("QOCI");
 orcl.setHostName("localhost");
 orcl.setDatabaseName("orcl");
 orcl.setUserName("testdbuser");
 orcl.setPassword("123");
 orcl.setPort(1521);

 if(orcl.open())
 {
 qDebug()<<"打开成功";

 }
 else {
 qDebug()<<"打开失败";

 }
 QTableView *tv;

 QSqlTableModel *tmd ;
 tmd = new QSqlTableModel(0,orcl);
 qDebug()<<"1";
 tmd ->setTable("sniffertest");
 tmd->setEditStrategy(QSqlTableModel::OnManualSubmit);
 tmd->select();


 tv = new QTableView;
 tv->setModel(tmd);


tv->show();



 QSqlQuery query ("select *from sniffertest");
 while (query.next()) {
 QString country = query.value(0).toString();
 printf("%s\n",country.toLocal8Bit().data());
 }


 return a.exec();
}

这个程序可以有效的使用oracle 数据库,并且使用 QSqlTableModel 将数据内容直接导入内存进行事物 存储过程计算

QQ截图20150506142446.png

相关文章

navicat for oracle,出现connection to server failed, probable Oracle Net admin error,解决办法,错误怎么办?

  解决connection to server failed, probable Oracle Net admin error  navicat for oracle,oracle客户端软件,  我...

[oracle]数据库触发器的使用。创建一个自动增加的ID

将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)----创建表Create table t_user(   Id num...

好久没更新了,这次介绍 qDebug()的所有输出转移至文件中

#include <QtDebug> #include <QFile> #include <QTextStream> #defi...