四、QT实现图形界面对数据库的操作
本文代码的数据库是提前创建好的,如果读者需要自己重新创建,请阅读:
https://editor.csdn.net/md/?articleId=131133322
前面三个小节都是用来解释对数据库操作的,最后一小节用来将其在QT界面上实现。
用这些…Mode语句可以是我们更方便的操作数据库:首先要包含两个头文件:
QSqlQueryModel QsqlTabelModel QSqlRelationTableModel QTableView
在这三个类的帮助下可以使得我们更方便的操作数据库
下面对数据库的操作是使用这些Model来实现的
model = new QSqlTableModel(this);
ui->tableView->setModel(model);
model->setTable("student");
model->select();
接下来建立几个Button来实现UI控制:
首先要把修改确定为手动修改确认
model->setEditStrategy(QSqlTabelModel::OnManualSubmit)
修改后需要执行某条语句才能保存修改。
要实现上述,只需要产生一个事件触发即可。让某个Button关联一个槽即可,即:
void Widget::on_pushButton_clicked()
{
model->submitAll();
}
此外还需要实现一个查找功能:
使用:
model->setFilter("name = 'Misaka'");
但是其中的’Misaka’不能写死,所以使用
QString nm = QString("name = '%l'").arg(name);
使用:
void Widget::on_pushButton_3_clicked()
{
QString name2 = ui->lineEdit->text();
QString nm = QString("name = '%1'").arg(name2);
model->setFilter(nm);
model->select();
}
结果如下:
链接:https://pan.baidu.com/s/1fV9wQBkcCE3bZmzn7OROzQ
提取码:uxat