qt,我在一个界面建立数据库,想在另一个界面调用。

qt,我在一个界面建立数据库,建了一个表,想在另一个界面调用,去查看数据。


    /*数据库*/
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("guanliyuan.db");
    db.open();
    query = new QSqlQuery();
    query->exec("create table userinfo(username,password)");

    /*显示读数据*/
    qmodel = new QSqlQueryModel;
    qmodel->setQuery("select * from userinfo");     //设置查询
    ui->tableView->setModel(qmodel);
    qmodel->setHeaderData(0,Qt::Horizontal,"账号");
    qmodel->setHeaderData(1,Qt::Horizontal,"密码");

把创建数据库的参数保存起来,传到其他页面,然后类似的代码做查询操作就可以了。

我补充一下,你这里是创建一个数据库连接而已,去连接已有的数据库,open成功以后就可以对数据库操作了,当你执行query->exec后,假如你的query包含建表和插入,此时你要读的数据在数据库中,就不涉及界面的交互了,就直接在你要展示的界面读取数据库就行了。

当然你的界面之间有交互的话,一般是通过emit signal,自定义带参数的信号发过去,再用connect绑定。

    QSqlQuery query;
    query.exec("select * from userinfo");
    while (query.next())
    {
         //qDebug() << query.value(0).toInt() << query.value(1).toString() << query.value(2).toString();
        //上面是例子,下面这应该是你表的两个字段,用户名和密码
         QString name = query.value(0).toString();
         QString pwd = query.value(1).toString();
    }

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

 希望对您有帮助:https://blog.csdn.net/it_xiangqiang/category_10794527.html