33Sql数据删除与遍历
数据库的创建、添加、修改、查询、删除都是利用SQL语句和类QSqlQuery的结合。
QSqlDatabase::database()。可返回当前正在打开的数据库对象。
数据库的删除
//获取删除的名字
QString strName=ui->lineEdit->text();
//开始事务
QSqlDatabase::database().transaction();
//删除该数据,但数据库没有更新,需要事务的提交
QString strTemp=QString("DELETE FROM student WHERE sname='%1'").arg(strName);
//执行
QSqlQuery query;
query.exec(strTemp);
提交事务
QSqlDatabase::database().commit();
撤销操作,回到transaction()处
QSqlDatabase::database().rollback();
事务:简单来说就等同于一个点。当后面出现错误操作时,可以回滚到该点上,撤销操作。
遍历数据库
//查询数据库
query.exec("SELECT * FROM student;");
//遍历数据库,输出所有数据
while(query.next())
{
qDebug()<<query.value("id").toInt()
<<query.value("sname").toString()
<<query.value("age").toString()
<<query.value("score").toInt();
}
修改数据
修改数据
//获取修改的名字
QString strName1=ui->lineEdit->text();
//修改后的名字
QString strName2=ui->lineEdit_2->text();
//开始事务
QSqlDatabase::database().transaction();
//删除该数据,但数据库没有更新,需要事务的提交
QString strTemp=QString("DELETE FROM student set sname=’%1 ’ WHERE sname='%2").arg(strName2).arg(strName1);
//执行
QSqlQuery query;
query.exec(strTemp);
相关文章
- 【图论——第二讲】图的遍历
- CASE函数 sql server——分组查询(方法和思想) ref和out 一般处理程序结合反射技术统一执行客户端请求 遍历查询结果集,update数据 HBuilder设置APP状态栏
- mysql数据库遍历表,其一字段获取上一条数据
- JavaScript 遍历 from 表单所有控件
- 基于10亿+数据,HugeGraph与Nebula Graph的图遍历查询性能测试
- jquery的each伪数组遍历
- jqGrid遍历所有行及获取某一行数据
- c#中怎么用for循环遍历DataTable中的数据
- 分析轮子(八)- List.java 各种遍历方式及遍历时移除元素的方法
- 投票统计,遍历数据
- javascript学习-创建json对象数据,遍历
- nyoj 53-不高兴的小明 (遍历)