QT6中两种方式查询数据库全部信息并打印出来

102 阅读1分钟

如何把数据库的内存全部打印出来,或者直接印在textview中呢?

1.使用QSqlQuery sqlquery

     QSqlQuery sqlquery("SELECT \* FROM student");;
    //QSqlQuery query("SELECT \* FROM users");
     while (sqlquery.next()) {
        int id = sqlquery.value("id").toInt();
        QString name = sqlquery.value("name").toString();
        int score = sqlquery.value("score").toInt();
        qDebug() << "ID:" << id << "Name:" << name << "score:" << score;
    }
*/

1.使用QSqlTableModel 先把数据库以table表格方式取出来,再通过Qtableview直接更新出来

     QSqlTableModel *model = new QSqlTableModel;
     model->setTable("student");  // 假设表名为user
     model->setEditStrategy(QSqlTableModel::OnFieldChange);  // 允许字段级修改
     model->select();  // 加载数据 // 加载数据

     ui->tableView->setModel(model);
     model->setHeaderData(0, Qt::Horizontal, "ID");  // 设置列标题
     model->setHeaderData(1, Qt::Horizontal, "姓名");
     model->setHeaderData(2, Qt::Horizontal, "分数");
     model->select();  // 加载数据