.pro文件加上下面的代码
QT += sql
main.cpp
#include "widget.h"
#include <QApplication>
#include <QString>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlDatabase>
int main(int argc, char *argv[])
{
//创建数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
//设置数据库名字
db.setDatabaseName("login.db");
//打开数据库
if(db.open())
{
qDebug()<<"打开数据库成功"<<endl;
}else
{
qDebug()<<"打开数据库失败"<<endl;
}
//创建一个存储user和密码的的数据库表
QString cmd = "create table if not exists userinfo(username varchar(64),password varchar(64))";
//执行sql语句
QSqlQuery query;
if(query.exec(cmd))
{
qDebug()<<"exec suc"<<endl;
}else
{
qDebug()<<"exec no"<<endl;
}
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QMovie>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlTableModel>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_register_clicked()
{
QString username = this->ui->lineEdit_user->text();
QString password = this->ui->lineEdit_pass->text();
QString cmd = QString("insert into userinfo values('%1','%2')").arg(username) .arg(password);
QSqlQuery query;
if(query.exec(cmd))
{
qDebug()<<"insert suc"<<endl;
}else
{
qDebug()<<"insert no"<<endl;
}
}
void Widget::on_pushButton_login_clicked()
{
QString username = this->ui->lineEdit_user->text();
QString password = this->ui->lineEdit_pass->text();
//创建model
QSqlTableModel *model = new QSqlTableModel;
//绑定表
model->setTable("userinfo");
//过滤数据
model->setFilter(QString("username='%1' and password='%2'").arg(username).arg(password));
//查询
model->select();
//结果
int row = model->rowCount();
if(row>0)
{
qDebug()<<"登录成功"<<endl;
server_c = new server;
server_c->show();
this->close();
}else
{
qDebug()<<"登录失败"<<endl;
}
}