#include "editpwdform.h" #include "ui_editpwdform.h" #include <QSqlDatabase> #include <QSqlError> #include <QDebug> #include <QSqlQuery> #include <QSqlRecord> #include <QMessageBox> #include <QTextCodec> static QSqlDatabase db; EditPwdForm::EditPwdForm(QString id,QWidget *parent) : QWidget(parent), id(id), ui(new Ui::EditPwdForm) { ui->setupUi(this); ui->oldpwd->setEchoMode(QLineEdit::Password); ui->newpwd->setEchoMode(QLineEdit::Password); ui->checkpwd->setEchoMode(QLineEdit::Password); db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setDatabaseName("brtyx"); db.setPort(3306); db.setUserName("root"); db.setPassword("123456"); bool ok = db.open(); if(ok){ QSqlQuery query( QString("select * from user where id =%1").arg(id),db); QSqlRecord rec = query.record(); while(query.next()) { ui->username->setText(query.value("username").toString()); ui->phone->setText(query.value("phone").toString()); } } } EditPwdForm::~EditPwdForm() { delete ui; } void EditPwdForm::on_pushButton_2_clicked() { if(ui->oldpwd->text()==""){ QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请输入旧密码!")); return; } if(ui->newpwd->text()==""){ QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请输入新密码!")); return; } if(ui->checkpwd->text()==""){ QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请确认新密码!")); return; } if(ui->checkpwd->text()!=ui->newpwd->text()){ QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("两次新密码输入有误!")); return; } db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setDatabaseName("brtyx"); db.setPort(3306); db.setUserName("root"); db.setPassword("123456"); bool ok = db.open(); if(ok){ QSqlQuery query( QString("select * from user where id =%1 and password ='%2'").arg(id).arg(ui->oldpwd->text())); QSqlRecord rec = query.record(); if(!query.next()){ QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("旧密码有误!")); return; }else{ QString str = QString("UPDATE user SET password = '%2' WHERE id=%1 ") .arg(id).arg(ui->newpwd->text()); qDebug()<<str; QSqlQuery query1(str); QMessageBox::information(NULL, QString::fromLocal8Bit("提示"),QString::fromLocal8Bit("提交成功!"), QMessageBox::Yes ); return; } } }