本人也是自学Qt,做这个小程序主要是熟悉QSqlQueryModel的基本应用,和大家共同学习,有什么不对的地方希望大家批评指正,先看一下基本操作界面
现在来分析一下制作的过程:
制作思路是先由学生基本信息录入界面录入学生的基本信息(修改是按学号不变来修改),学生成绩信息录入界面录入学生成绩(修改是按学生姓名修改成绩),然后在信息查询菜单通过基本信息和成绩菜单来查询可以按学号和成绩排序,也可以通过姓名同时查询和删除学生基本信息和成绩。
创建数据库:
connection.h
#ifndef CONNECTION_H
#define CONNECTION_H
#include<QSqlDatabase>
#include<QSqlQuery>
static bool createconnection()
{
QSqlDatabase db= QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("data1.db");
db.setUserName("liuhuazheng");
db.setPassword("19891008");
if(!db.open())
{return false;}
QSqlQuery query;
query.exec("create table xuesheng(id int primary key, "
"姓名 varchar(20), 性别 varchar(20), 家庭住址 varchar(20))");
query.exec("create table chengji(姓名 varchar(20) primary key, "
"成绩 float)");
return true;
}
基本信息的录入:
biaoform.h
#ifndef BIAOFORM_H
#define BIAOFORM_H
#include <QWidget>
namespace Ui {
class BiaoForm;
}
class BiaoForm : public QWidget
{
Q_OBJECT
public:
explicit BiaoForm(QWidget *parent = 0);
~BiaoForm();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
private:
Ui::BiaoForm *ui;
};
#endif // BIAOFORM_H
成绩信息的录入:
insertchengjiform.h
#ifndef INSERTCHENGJIFORM_H
#define INSERTCHENGJIFORM_H
#include <QWidget>
namespace Ui {
class insertchengjiForm;
}
class insertchengjiForm : public QWidget
{
Q_OBJECT
public:
explicit insertchengjiForm(QWidget *parent = 0);
~insertchengjiForm();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
private:
Ui::insertchengjiForm *ui;
};
#endif // INSERTCHENGJIFORM_H
<