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