QT操作Oracle数据库可以使用QODBC、QOCI两种驱动,这里使用QODBC驱动。在使用QOCI驱动操作oracle时,事务不能回滚,可能是我编译的QOCI驱动有问题,但是暂时没有找到原因。
#ifndef QTTEST_H
#define QTTEST_H
#include <QtGui/QMainWindow>
#include "ui_qttest.h"
#include <QSqlDatabase>
class QSqlQuery;
class QSqlError;
class QVariant;
class qttest : public QMainWindow
{
Q_OBJECT
public:
qttest(QWidget *parent = 0, Qt::WFlags flags = 0);
~qttest();
private:
Ui::qttestClass ui;
QSqlDatabase db;
public:
void createDatabase();
bool connectDatabase();
void closeDatabase();
void insertMoreData();
void queryData();
private slots:
//删除操作采用事务处理
void on_btnDel_clicked();
void on_btnCal_clicked();
void on_btnDelOk_clicked();
//调用存储过程
void on_btnProcedure_clicked();
}