Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果在数据库中找到某个值,则打开另一个窗口_C++_Database_Qt_Sqlite - Fatal编程技术网

C++ 如果在数据库中找到某个值,则打开另一个窗口

C++ 如果在数据库中找到某个值,则打开另一个窗口,c++,database,qt,sqlite,C++,Database,Qt,Sqlite,我很难弄清楚如何检查数据库中的信息是否具有更改登录屏幕的特定值。我想在用户以教师或学生身份登录时打开一个不同的窗口。我也在数据库中给每个人分配了一个学生或老师的值。顺便说一下,else学生的代码很好用 编辑:if语句是我应该放置代码的地方 if(count == 1) { ui->statusLabel->setText("Username password correct. Username: "

我很难弄清楚如何检查数据库中的信息是否具有更改登录屏幕的特定值。我想在用户以教师或学生身份登录时打开一个不同的窗口。我也在数据库中给每个人分配了一个学生或老师的值。顺便说一下,else学生的代码很好用

编辑:if语句是我应该放置代码的地方

   if(count == 1)
    {
        ui->statusLabel->setText("Username password correct. Username: "
                                 + uname);

        //dbConnection->connClose();

        if(query.value(""))

        {

        }
        else
        {
        // hide login window
        this->hide();
        // open admin window
        StudentDialog myStudent;
        myStudent.setModal(true);
        myStudent.exec();
        }

    }

它显示了以下示例:

 while (query.next()) {
     QString name = query.value(0).toString();
     int salary = query.value(1).toInt();
     qDebug() << name << salary;
 }
基本上,查询将结果存储在二维数组中。要在列之间导航,请使用值索引。要转换它,请使用
QVariant::toXXX()
选项,如
toInt()
toString()
等。要获取执行查询产生的下一行值,请调用
query.next()

因此,在您的情况下,您可能只需拨打:

bool is_teacher = query.value(0).toBool();
if(is_teacher)
{
    // ...
}
// etc
如果您对某些陈述仍有疑问,请尝试:

qDebug() << qPrintable(query.lastError().text());

<代码> qDebug(),您需要检查SQLite文档,看看如何从C++()中查询,然后做一些类似“从用户名=“人”中选择iSee教师的事情。
qDebug() << qPrintable(query.lastError().text());