• Qt执行带参sql


    1. //准备执行的sql语句,此为带参的sql语句
    2. query.prepare("update employee set Name=:Name, Gender=:Gender,Height=:Height,"
    3. " Birthday=:Birthday, Mobile=:Mobile, Province=:Province,"
    4. " City=:City, Department=:Department, Education=:Education,"
    5. " Salary=:Salary, Memo=:Memo, Photo=:Photo "
    6. " where EmpNo = :ID");
    7. //设置sql语句中参数的值
    8. query.bindValue(":Name",recData.value("Name"));
    9. query.bindValue(":Gender",recData.value("Gender"));
    10. query.bindValue(":Height",recData.value("Height"));
    11. query.bindValue(":Birthday",recData.value("Birthday"));
    12. query.bindValue(":Mobile",recData.value("Mobile"));
    13. query.bindValue(":Province",recData.value("Province"));
    14. query.bindValue(":City",recData.value("City"));
    15. query.bindValue(":Department",recData.value("Department"));
    16. query.bindValue(":Education",recData.value("Education"));
    17. query.bindValue(":Salary",recData.value("Salary"));
    18. query.bindValue(":Memo",recData.value("Memo"));
    19. query.bindValue(":Photo",recData.value("Photo"));
    20. query.bindValue(":ID",empNo);
    21. //执行对应绑定值的sql语句
    22. if (!query.exec())
    23. QMessageBox::critical(this, "错误", "记录更新错误\n"+query.lastError().text(),
    24. QMessageBox::Ok,QMessageBox::NoButton);

    删除:

    1. QSqlQuery query;
    2. query.prepare("delete from employee where EmpNo = :ID");
    3. query.bindValue(":ID",empNo);
    4. if (!query.exec())
    5. QMessageBox::critical(this, "错误", "删除记录出现错误\n"+query.lastError().text(),
    6. QMessageBox::Ok,QMessageBox::NoButton);

    修改

    1. QSqlQuery qryUpdate; //临时 QSqlQuery
    2. qryUpdate.prepare("UPDATE employee SET Salary=:Salary WHERE EmpNo = :ID");
    3. qryUpdate.bindValue(":ID",empID);
    4. qryUpdate.bindValue(":Salary",salary); //设置SQL语句参数
    5. qryUpdate.exec(); //执行update

    插入:

    1. query.prepare("INSERT INTO employee (EmpNo,Name,Gender,Height,Birthday,Mobile,Province,"
    2. " City,Department,Education,Salary,Memo,Photo) "
    3. " VALUES(:EmpNo,:Name, :Gender,:Height,:Birthday,:Mobile,:Province,"
    4. " :City,:Department,:Education,:Salary,:Memo,:Photo)");
    5. query.bindValue(":EmpNo",recData.value("EmpNo"));
    6. query.bindValue(":Name",recData.value("Name"));
    7. query.bindValue(":Gender",recData.value("Gender"));
    8. query.bindValue(":Height",recData.value("Height"));
    9. query.bindValue(":Birthday",recData.value("Birthday"));
    10. query.bindValue(":Mobile",recData.value("Mobile"));
    11. query.bindValue(":Province",recData.value("Province"));
    12. query.bindValue(":City",recData.value("City"));
    13. query.bindValue(":Department",recData.value("Department"));
    14. query.bindValue(":Education",recData.value("Education"));
    15. query.bindValue(":Salary",recData.value("Salary"));
    16. query.bindValue(":Memo",recData.value("Memo"));
    17. query.bindValue(":Photo",recData.value("Photo"));
    18. if (!query.exec())
    19. QMessageBox::critical(this, "错误", "插入记录错误\n"+query.lastError().text(),
    20. QMessageBox::Ok,QMessageBox::NoButton);

  • 相关阅读:
    网格化微型空气质量站 浅谈工作原理
    跨平台密码管理器KeePassX停止开发,你用过吗?
    Java.lang.Class类 getConstructor()方法有什么功能呢?
    怎样提高redis的命中率
    认识环境变量和进程替换,实现一个简易的shell
    从零搭建微服务架构:Spring Boot与Nacos完美整合
    Python 自动化: eip、cen监控数据对接到 grafana
    Genesis与Axis Ventures互动密切
    C++ VS2015安装教程,下载和安装(下载地址+图解+详细步骤)
    外贸增长背后的跨境电商转型路径
  • 原文地址:https://blog.csdn.net/weixin_38241876/article/details/134385211