Qt数据库之QSqlQueryModel

创建数据模型:

cpp 复制代码
QSqlQueryModel  *qryModel; //数据模型
qryModel=new QSqlQueryModel(this);
    qryModel->setQuery("SELECT empNo, Name, Gender, Height, Birthday, Mobile, Province, City, Department, "
                       " Education, Salary FROM employee ORDER BY empNo");
    if (qryModel->lastError().isValid())
    {
        QMessageBox::critical(this, "错误", "数据表查询错误,错误信息\n"+qryModel->lastError().text(),
                                 QMessageBox::Ok,QMessageBox::NoButton);

设置字段:

cpp 复制代码
qryModel->setHeaderData(0,Qt::Horizontal,"工号");
    qryModel->setHeaderData(1,Qt::Horizontal,"姓名");
    qryModel->setHeaderData(2,Qt::Horizontal,"性别");
    qryModel->setHeaderData(3,Qt::Horizontal,"身高");
    qryModel->setHeaderData(4,Qt::Horizontal,"出生日期");
    qryModel->setHeaderData(5,Qt::Horizontal,"手机");
    qryModel->setHeaderData(6,Qt::Horizontal,"省份");
    qryModel->setHeaderData(7,Qt::Horizontal,"城市");
    qryModel->setHeaderData(8,Qt::Horizontal,"部门");
    qryModel->setHeaderData(9,Qt::Horizontal,"学历");
    qryModel->setHeaderData(10,Qt::Horizontal,"工资");

    theSelection=new QItemSelectionModel(qryModel);

执行sql语句:

cpp 复制代码
    QSqlQuery query; //查询当前empNo的Memo和Photo字段的数据
    query.prepare("select EmpNo, Memo, Photo from employee where EmpNo = :ID");
    query.bindValue(":ID",empNo);
    query.exec();
    query.first();
相关推荐
怡雪~4 分钟前
redis配置带验证的主从复制
数据库·redis
王军新6 分钟前
Redis 缓存使用的热点Key问题
数据库·redis·缓存
hello1114-10 分钟前
Redis学习打卡-Day5-Redis 持久化
数据库·redis·学习
ALex_zry11 分钟前
业务场景中使用 SQL 实现快速数据更新与插入
数据库·sql
佩可official22 分钟前
SQL每日一练(3)
数据库·sql
怡雪~27 分钟前
redis使用RDB文件恢复数据
数据库·redis·缓存
forestsea39 分钟前
Java虚拟机面试题:内存管理(上)
java·开发语言
yueyekkx43 分钟前
Ubuntu24.04 LTS安装java8、mysql8.0
java·mysql·ubuntu
若水uy1 小时前
静态分配动态绑定
java
程序员buddha1 小时前
SpringBoot多环境配置文件切换
java·spring boot·后端