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

哎哎7年前数据库1887
#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

标签: QT数据库

相关文章

【QT】QT QString 很全的使用

  QString, QByteArray, 和 QVariant这三个类和容器有许多相同之处,并且在一些情况下可以被当作特殊的容器。 同样,像容器,这些类使用隐式共享来优化内存和速度。  我们将从Q...

使用QT设计师,快速将 ACTIONS 放入toolbar中

使用QT设计师,快速将 ACTIONS 放入toolbar中

  网上很多例子,都是手动敲代码在Qt界面工具栏中插入Action,实际QTDesigner本身带有其功能,而且非常方便。  插入完界面后,我们还可以去看它生成的代码,了解一下如何手动插入工具栏按钮。...

解决QWidget: Cannot create a QWidget when no GUI is being used

  长时间不用Qt了,新建了个控制台工程再添加自己的类,即是不想使用designer来设计自己的界面,编译时没有错误,执行时出现QWidget: Cannot create a QWidget whe...

QT 中修改程序form图标,mainwindow图标

  1、通过qtcreator新建一个文件filename.qrc,将图片添加到filename.qrc文件中:选择Add Prefix得到/new/prefix1,简单点改为/,再选Add File...

[QT]qt 程序退出代码。

  1.关闭主窗口并退出程序是    QApplication::exit()     2.如果是QDialog,就accept() 或 reje...

【QT】代码或者程序出现乱码的问题

  1.str = QString("%1 %2 (%3s-%4s)").arg("permissive").arg("society")....