当前位置:
文档之家› QT连接SQLITE数据库操作
QT连接SQLITE数据库操作
return; } } void SqlDB::closeDB() { db.close(); }
3.在窗口中使用数据库 <mainwin.h> 添加头文件:
#include <QSqlTableModel> #include "sqldb.h" 在 private:中添加数据库的打开指针和打开模式: SqlDB *db; QSqlTableModel *userModel;
4.在窗口中的具体操作
<mainwin.cpp>
在主窗口中建立 TableView 控件
#include "mainwin.h"
#include "ui_mainwin.h"
MainWin::MainWin(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWin)
this->userModel->select();
this->ui->tableView->setModel(userModel);
}
userModel->setHeaderData(0, Qt::Horizontal, "QQ");
userModel->setHeaderData(1, Qt::Horizontal, "昵称");
userModel->setHeaderData(2, Qt::Horizontal, "密码");
db = QSqlDatabase::addDatabase("QSQLITE"); //添加 sqlite 类型的数据库 db.setDatabaseName("server.s3db"); //指定数据库名为 server.s3db if (!db.open()) {
QMessageBox::critical(NULL, "sqlDB", "connect error");
1. 创建新类 sqldb,会自动生成两个文件 sqldb.h 和 sqldb.cpp(需指定其基类为 QOBject): <sqldb.h>
#include <QObject> #include <QSqlDatabase>
class SqlDB : public Qobject
{
Q_OBJECT
{
ui->setupUi(this);
db = new SqlDB(this); //建立
db->connectDB();
//连接
this->userModel->clear(); //初始化用户模式
this->userModel = new QSqlTableModel; //建立用户模式空间
this->userModel->setTable("user"); //设置用户模式
public:
explicit SqlDB(QObject *parent = 0);
void connectDB(); //创建连接函数
void closeDB();
//创建关闭函数
signals:
private:
QSqlDatabase db; //建立数据库的文件描述符
};
2.在 sqldb.cpp 中实现数据库函数的功能 <sqldb.cpp> void SqlDB::connectDB() {
userModel->setHeaderData(3, Qt::Horizontl->setHeaderData(4, Qt::Horizontal, "port");
userModel->setHeaderData(5, Qt::Horizontal, "状态");