一、实验目的和要求
1、掌握Qt中数据库SQL类数据库的查询、插入和更新操作。
2、熟悉Qt界面设计中常用的控件。
3、了解数据库相关类。
二、实验内容
1、设计一个数据库操作软件,完成数据库的相关操作。
2、建立按钮的信号与槽函数,实现点击按钮进行相应文件操作。
3、利用SQLite完成数据库相关操作。
三、实验步骤
1、新建工程,选择Qt Widgets Applocation选项,工程名称为Sql_test,类名设置为MainWidget继承的父类为Qwidget。
2、双击打开mainwdget.ui文件,打开界面设计,分别使用鼠标拖放三个Push Button、两个QLineEdit控件、一个QTableView控件,并将QLineEdit控件名称分别修改为nameEdit、ageEdit,QTableView控件名称修改为tableView,Push Button控件名称分别修改为insertButton、queryButton、updateButton,按钮文本分别修改为“插入数据、查询数据及更新数据”。
3、鼠标选中insertButton、queryButton、updateButton三个按钮,右键菜单选择转到槽,选择clicked()信号
四、问题讨论 1、分析不同控件的作用、功能和用法。 2、分析Qt中SQLite类的使用及数据库中常用的增删改查操作。 3、在实验报告中逐行分析程序代码功能。
Qt常用控件及其作用
控件使用场景
2、分析Qt中SQLite类的使用及数据库中常用的增删改查操作。 核心类及其功能
1. 插入数据(Create) cpp 复制 下载 QSqlQuery query; query.prepare("INSERT INTO users (name, age) VALUES (:name, :age)"); query.bindValue(":name", "张三"); query.bindValue(":age", 25); if (!query.exec()) { qDebug() << "插入失败:" << query.lastError().text(); } 2. 查询数据(Read) cpp 复制 下载 QSqlQuery query("SELECT * FROM users"); while (query.next()) { QString name = query.value("name").toString(); int age = query.value("age").toInt(); qDebug() << name << age; } 3. 更新数据(Update) cpp 复制 下载 QSqlQuery query; query.prepare("UPDATE users SET age = :age WHERE name = :name"); query.bindValue(":age", 30); query.bindValue(":name", "张三"); query.exec(); 4. 删除数据(Delete) cpp 复制 下载 QSqlQuery query; query.prepare("DELETE FROM users WHERE id = :id"); query.bindValue(":id", 1); query.exec(); 绑定模型到QTableView cpp 复制 下载 QSqlTableModel *model = new QSqlTableModel(this); model->setTable("users"); model->select(); // 加载数据 ui->tableView->setModel(model); // 绑定到视图 注意事项
3、在实验报告中逐行分析程序代码功能。 Mainwidgt.h Mainwidgt.ccp | ||||||||||||||||||||||||||||||||||||
Databasemannage.h Databasemannage.ccp |