将 QSqlDatabase db = QSqlDatabase::addDatabase("MySQL80");//如果是多个的话就需要绑定下 db.setHostName("localhost");//主机名 db.setUserName("root");//用户名 db.setPassword("123456");//密码 db.setDatabaseName("my_new_db");//数据库名 if(db.open() == false){ QMessageBox::information(this,"数据库打开失败",db.lastError().text()); return; } QSqlQuery query;//如果只有一个数据库连接 自动与当前打开的数据库绑定 query.exec("select * from student");//查询 bool ff=false; while (query.next()) { if(ui->username ->text() == query.value("name").toString() && ui ->userpw ->text() == query.value("password").toString()){ drawer *ll = new logon(); ll->name = query.value("name").toString(); close(); ll->show(); ff=true; } qDebug()<<query.value("name").toString()<<query.value("password").toString(); } if(ff == false){ QMessageBox::information(this,"错误","账号或密码有误"); }改为不连接数据库,并将信息写入a.txt文件
时间: 2024-03-20 15:40:57 浏览: 37
如果不连接数据库,可以使用文件读写来实现。代码如下:
```
QFile file("student.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QMessageBox::information(this,"错误","文件打开失败");
return;
}
QTextStream in(&file);
bool ff = false;
while (!in.atEnd()) {
QString line = in.readLine();
QStringList fields = line.split(" ");
if (ui->username->text() == fields.at(0) && ui->userpw->text() == fields.at(1)) {
drawer *ll = new logon();
ll->name = fields.at(0);
close();
ll->show();
ff = true;
break;
}
}
if (!ff) {
QMessageBox::information(this,"错误","账号或密码有误");
}
file.close();
```
这样就可以读取名为 `student.txt` 的文件中的信息,并进行匹配了。需要注意的是,文件中每行的格式应该是 `name password`,以空格分隔。
阅读全文