//2011年8月30日 晴
//头文件 connection.h
#ifndef CONNECTION_H
#define CONNECTION_H
#include <QObject>
#include <QTextCodec>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
bool static createConnection()
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
//1.定义数据库的驱动程序
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
//2.定义数据库名字
//db.setDatabaseName(":memory:"); //内存中的数据库,只在程序运行的时候存在
db.setDatabaseName("test.db"); //物理上载磁盘上存在的数据库
//3.打开数据库
if(!db.open())
{
qDebug()<<"数据库打开失败";
return false;
}
//4.操作数据库中的数据
QSqlQuery query;
//创建表
query.exec("create table Stu(id int primary key, name varchar(16));");
//插入数据
query.exec(QObject::tr("insert into Stu values(101, '张三丰');"));
query.exec(QObject::tr("insert into Stu values(102, '张无忌');"));
query.exec(QObject::tr("insert into Stu values(103, '赵敏');"));
query.exec(QObject::tr("insert into Stu values(104, '周芷若');"));
query.exec(QObject::tr("insert into Stu values(105, '小昭');"));
return true;
}
#endif // CONNECTION_H
//widget.h头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QSqlTableModel>
namespace Ui {
class Widget;
}
class Widget : public QWidget {
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
protected:
void changeEvent(QEvent *e);
private:
Ui::Widget *ui;
QSqlTableModel *model;
private slots:
void on_btnTable_clicked();
void on_btnQuery_clicked();
void on_btnSortDes_clicked();
void on_btnSortAsc_clicked();
void on_btnDel_clicked();
void on_btnInsert_clicked();
void on_btnRoll_clicked();
void on_btnCommit_clicked();
};
#endif // WIDGET_H