#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
if(db.contains())
{
//说明数据库存在
}
else
{
//说明数据库不存在
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("stuinfo.db");
QMessageBox::information(this,"","创建数据库成功");
}
//打开数据库
if(!db.open())
{
QMessageBox::information(this,"","打开数据库失败");
return;
}
QSqlQuery query;
//准备sql语句
QString sql = "create table if not exists stu_info_table("
"id integer primary key autoincrement,"
"numb integer,"
"name varchar(20),"
"sex varchar(4),"
"score integer)";
//执行sql语句
if(query.exec(sql))
{
QMessageBox::information(this,"","创建数据表成功");
}
else
{
QMessageBox::information(this,"","创建数据表失败");
}
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_addButton_clicked()
{
int numb = ui->numberEdit->text().toUInt();
QString name = ui->nameEdit->text();
QString sex = ui->sexEdit->text();
int chengji = ui->chengjiEdit->text().toUInt();
if(numb==0||name.isEmpty()||sex.isEmpty()||chengji==0)
{
QMessageBox::information(this,"","请将信息填写完整");
return;
}
QSqlQuery query;
//准备sql语句
QString sql = QString("insert into stu_info_table(numb,name,sex,score) "
"values(%1,'%2','%3',%4)")
.arg(numb).arg(name).arg(sex).arg(chengji);
//执行sql语句
if(query.exec(sql))
{
QMessageBox::information(this,"","添加成功");
}
else
{
QMessageBox::information(this,"","添加失败");
}
}
void Widget::on_showButton_clicked()
{
QSqlQuery query;
QString sql = "select * from stu_info_table";
if(query.exec(sql))
{
int i=0;
while(query.next())
{
for(int j=0;j<query.record().count();j++)
{
ui->tableWidget->setItem(i,j,new QTableWidgetItem(query.value(j+1).toString()));
}
i++;
}
}
}
void Widget::on_delButton_clicked()
{
QSqlQuery query;
int ret = QMessageBox::information(this,
"选择",
"删除全部吗",
QMessageBox::Yes|QMessageBox::No);
if(ret == QMessageBox::Yes)
{
QString sql = "delete * from stu_info_table";
if(query.exec(sql))
{
QMessageBox::information(this,"","删除成功");
}
else
{
QMessageBox::information(this,"","删除失败");
}
}
else
{
QString sql = "delete * from stu_info_table where id=1";
if(query.exec(sql))
{
QMessageBox::information(this,"","删除成功");
}
else
{
QMessageBox::information(this,"","删除失败");
}
}
}
void Widget::on_seachButton_clicked()
{
QString wd = ui->seachEdit->text();
QSqlQuery query;
int ret = QMessageBox::information(this,
"选择",
"显示所有查找结果吗",
QMessageBox::Yes|QMessageBox::No);
if(ret == QMessageBox::Yes)
{
QString sql = "select * from stu_info_table where name ='"+ wd +"'";
if(query.exec(sql))
{
QMessageBox::information(this,"","查找成功");
int i=0;
while(query.next())
{
for(int j=0;j<query.record().count();j++)
{
ui->tableWidget->setItem(i,j,new QTableWidgetItem(query.value(j+1).toString()));
}
i++;
}
}
else
{
QMessageBox::information(this,"","查找失败");
}
}
else
{
QString sql = "select * from stu_info_table where name ='"+ wd +"'and id < 2";
if(query.exec(sql))
{
QMessageBox::information(this,"","查找成功");
int i=0;
while(query.next())
{
for(int j=0;j<query.record().count();j++)
{
ui->tableWidget->setItem(i,j,new QTableWidgetItem(query.value(j+1).toString()));
}
i++;
}
}
else
{
QMessageBox::information(this,"","查找失败");
}
}
}
QTday6
最新推荐文章于 2024-09-12 18:36:14 发布