gpt4 book ai didi

c++ - QT query.exec() 总是返回 false

转载 作者:行者123 更新时间:2023-11-30 02:41:14 24 4
gpt4 key购买 nike

我想在 QT 中制作一个简单的登录表单,但我想我做错了什么。我看了几个教程,在不同的论坛上搜索,但找不到任何解决方案。

数据库声明如下:

#include <QMainWindow>
#include <QTSql>
#include <QtDebug>
#include <QFileinfo>

QSqlDatabase sqldb;
sqldb=QSqlDatabase::addDatabase("QSQLITE");
sqldb.setDatabaseName("data.db");

然后像这样开始:

 if(sqldb.open())
ui->label->setText("Conectat!");
else
ui->label->setText("Nu m-am conectat!");

在我的代码中,query.exec() 似乎只返回 false。

void MainWindow::on_pushButton_clicked()
{
user=ui->lineEdit->text();
qDebug()<<user;
if(!sqldb.isOpen()){
qDebug()<<"Not connected to db";
return;
}

QSqlQuery qry;

if(qry.exec("select * from users where name='"+user+"'"))
{
int count=0;
while(qry.next()){
count++;
}
if(count==1)
ui->label_3->setText("correct");
if(count<1)
ui->label_3->setText("not correct");
if(count>1)
ui->label_3->setText("duplicate");
}
else qDebug()<<"not working!";
}

如果我将 if 条件更改为 !qry.exec(...),我总是会收到“不正确”的消息。有什么想法吗?

最佳答案

您通常可以使用 lastError() 找出问题所在QSqlQuery的方法:

if( !query.exec(...) )
{
qDebug() << query.lastError().text();
}

关于c++ - QT query.exec() 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28276905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com