文档详情

Qt数据库利用QSqlQuery类执行SQL语句.DOC

发布:2019-08-19约1.32千字共5页下载文档
文本预览下载声明
实验九 HYPERLINK /?p=82 \o Permanent Link to 二十三、Qt数据库(三)利用QSqlQuery类执行SQL语句(一)Qt数据库QSqlQueryModel (一)实验目的: 熟练掌握数据库编程中QSqlQueryModel类的使用,并能结合MySQL进行编程。 (二)实验要求: 1、按下面的步骤完成程序的设计,同时思考和掌握相对应的知识点。 2、提交建立的软件项目。 (三)实验内容: Qt中使用了自己的机制来避免使用SQL语句,它为我们提供了更简单的数据库操作和数据显示模型。它们分别是只读的QSqlQueryModel,操作单表的QSqlTableModel和以及可以支持外键的QSqlRelationalTableModel。这次实验先学习QSqlQueryModel的使用。 QSqlQueryModel类为SQL的结果集提供了一个只读的数据模型,下面我们先利用这个类进行一个最简单的操作。 1、使用MySQL query Browser创建数据库,数据库名称为“Worker”。 2、新建Qt4 Gui Application工程,工程名为queryModel ,Base class选QWidget。工程建好后,添加C++ Header File ,命名为database.h,更改其内容如下: 3、然后进入main.cpp,将其内容更改如下: 4、下面我们在widget.ui中添加一个显示为“查询”的PushButton,并进入其单击事件槽函数,更改如下: 我们新建了QSqlQueryModel类对象model,并用setQuery()函数执行了SQL语句“(“select * from worker”);”用来查询整个worker表的内容,可以看到,该类并没有完全避免SQL语句。然后我们设置了表中属性显示时的名字。最后我们建立了一个视图view,并将这个model模型关联到视图中,这样数据库中的数据就能在窗口上的表中显示出来了。 5、在widget.cpp中添加头文件: 6、运行程序,并按下“查询”按键,效果如下: 下面利用这个模型来操作数据库。 7、在void Widget::on_pushButton_clicked()函数中添加如下代码: 在我们在widget.cpp中添加头文件: 此时运行程序,效果如下: 8、当然我们在这里也可以使用前面介绍过的query执行SQL语句。 例如我们在void Widget::on_pushButton_clicked()函数中添加如下代码: QSqlQuery query = model-query(); query.exec(“select name from worker where id = 2 “); query.next(); qDebug() query.value(0).toString(); 这样就可以输出表中的值了,你可以运行程序测试一下。 9、添加记录并让其动态地显示我们的更新,可以将函数更改如下: 10、运行程序,效果如下: 可以看到,这时已经将新添的记录显示出来了。
显示全部
相似文档