QT MySql 数据库检查登录名和密码以登录
QT MySql database checking login and password to sign in
我想在qt中制作应用程序,其中将是登录和注册系统,登录名和密码都在MySQL数据库中。我已经将数据库连接到我的应用程序,但我不知道如何将登录名和密码与"行编辑"中给出的进行比较,这是教程中的代码,但它是SQLite的教程
void login::on_pushButton_sign_in_clicked()
QString login, password;
login = ui->lineEdit_login_login->text();
password = ui->lineEdit_password_login->text();
QSqlQuery qry;
if(qry.exec("select logins, passwords * from users where logins = '" + login + "' and password = '" + password + "' " ))
{
while(qry.next())
{
hide();
mainwindow = new MainWindow(this);
mainwindow->show();
}
}
}
正如评论中提到的,您应该首先了解基本的SQL查询。假设您有一个users
表,它包含如下列:
| userId | name | username | password |
从自定义 AppmyUsername
和myPassword
后,SQL 查询可能如下所示:
SELECT userID, name from users WHERE username = 'myUsername' AND password = 'myPassword'
现在,您可以在代码中使用它:
void login::on_pushButton_sign_in_clicked()
{
QString username = ui->lineEdit_login_login->text();
QString password = ui->lineEdit_password_login->text();
QSqlQuery query;
query.prepare("SELECT userID, name from users WHERE
username = :username AND
password = :password");
query.bindValue(":username", username);
query.bindValue(":password", password);
if (query.exec())
{
if (query.size() > 0)
{
// You login a user here
QString name = query.value(1).toString();
qDebug() << name << "is logged in";
}
else
{
qDebug() << "Login failed. Invalid username or password.";
}
}
}
请注意,我认为这是出于学习目的。建议存储密码哈希而不是纯文本。干杯!
相关文章:
- c++中的oop(密码生成)
- 密码登录程序将永远循环并显示不正确的结果
- OpenSSL没有共享密码
- Cryptopp:获取密码输入的填充字符串
- 如何检查cURL是否成功登录?c ++
- 密码长度验证 (c++)
- C++ win32 如何使密码字段可选并启用复制和粘贴?
- 仿射密码解密,输出大小写不同
- 替换密码:哪一个?
- 无法使用 openssl 服务器,因为密码已过时...什么的...ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- 如何在 c++ 中将密码和用户名保存到 .txt 文件中.如果用户尝试登录,我仍然希望能够检索它们
- QT MySql 数据库检查登录名和密码以登录
- 如何以编程方式检测登录过程(人脸登录、指纹、密码等)
- 正在尝试创建密码登录
- 在c++登录程序中屏蔽密码
- 如何在c++中的登录/密码窗口中使用回车键
- 如何以编程方式更改 RDP 登录名/密码
- 由于密码丢失,QuickFix登录失败
- 以编程方式加密ODBC DSN登录密码
- 如何将web应用程序的登录和密码数据传递给桌面应用程序而不产生任何安全风险