QT连接SQLITE数据库操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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");
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::Horizontal, "IP");
userModel->setHeaderData(4, Qt::Horizontal, "port");
userModel->setHeaderData(5, Qt::Horizontal, "状态");
{
ui->setupUi(this);
db = new SqlDB(this); //建立
db->connectDB();
//连接
this->userModel->clear(); //初始化用户模式
this->userModel = new QSqlTableModel; //建立用户模式空间
this->userModel->setTable("user"); //设置用户模式
this->userModel->select();
this->ui->tableView->setModel(userModel);
}
1. 创建新类 sqldb,会自动生成两个文件 sqldb.h 和 sqldb.cpp(需指定其基类为 QOBject): <sqldb.h>
#include <QObject> #include <QSqlDatabase>
class SqlDB : public Qobject
{
Q_OBJECT
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)