You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.5 KiB

#include "sign_in.h"
#include "ui_sign_in.h"
#include <QMessageBox>
#include <QSqlQuery>
#include <QString>
#include <QDebug>
#include <QGraphicsDropShadowEffect> //设置阴影
sign_in::sign_in(QWidget *parent) : QDialog(parent),
ui(new Ui::sign_in)
{
ui->setupUi(this);
this->setWindowTitle("注册");
// 使用在 main 中创建的数据库连接
QSqlDatabase db = QSqlDatabase::database("text01");
if (!db.isOpen()) {
QMessageBox::warning(this, "警告", "数据库连接失败");
} else {
qDebug() << "数据库连接成功!";
}
//插入图片
QPixmap house(":/house.jpg");
ui->label_3->setPixmap(house);
//设置阴影
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this);
shadow->setOffset(-3, 0);
shadow->setColor(QColor("#888888"));
shadow->setBlurRadius(30);
ui->label_3->setGraphicsEffect(shadow);
this->setWindowFlags(Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
}
sign_in::~sign_in()
{
delete ui;
}
void sign_in::on_pushButton_2_clicked()
{
this->close();
}
void sign_in::on_pushButton_clicked()
{
QString namestr = ui->lineEdit->text();
QString password = ui->lineEdit_2->text();
// 使用在 main 中创建的数据库连接
QSqlDatabase db = QSqlDatabase::database("text01");
if (!db.isOpen()) {
QMessageBox::warning(this, tr("警告!"), tr("数据库未打开!"), QMessageBox::Yes);
return;
}
QSqlQuery query(db);
QString userQuery = QString("select * from user where name='%1' ").arg(namestr);
if (query.exec(userQuery) && query.next()) {
QMessageBox::warning(this, tr("警告!"), tr("用户名已存在!"), QMessageBox::Yes);
ui->lineEdit->clear();
ui->lineEdit_2->clear();
ui->lineEdit->setFocus();
} else {
if (namestr == "" || password == "") {
QMessageBox::warning(this, tr("警告!"), tr("用户名或密码不能为空!"), QMessageBox::Yes);
ui->lineEdit->clear();
ui->lineEdit_2->clear();
ui->lineEdit->setFocus();
} else {
QString insertStr = QString("insert into user(name, pass) values('%1', '%2')").arg(namestr).arg(password);
if (query.exec(insertStr)) {
close();
} else {
QMessageBox::warning(this, tr("警告!"), tr("注册失败!"), QMessageBox::Yes);
}
}
}
}