安装VS Code
安装SQLite
安装QT CREATOR
实现系统架构
新建项目
注意base class选择QDialog
创建完成后,可以看到main.cpp中有
打开.ui文件
找到Input Widgets的Combp box,将其改名
找到Buttons中的Push Button,并将该控件改名,如数据排序、插入数据、删除数据、更新数据、查询数据。修改完name后,可以修改objectName,这将作为后面每个控件所对应的函数名称。每个Button都可以右键,然后选择转到槽。
找到Spacers中的Horizontal Spacer可以控制控件的间距
找到Item View中的List View,并将控件改名
打开.pro文件
QT +=core gui
QT +=sql
打开.h文件,首先插入头文件
#include <QDialog>
#include <QSqlDatabase> //用于连接数据库,创建数据库
#include <QSqlQuery> //用于使用DML\DDL语言
#include <QSqlQueryModel>
#include <QSqlError>
#include <QDebug>
#include <QMessageBox>
打开main.cpp创建自定义函数
打开另一个.cpp,插入刚自定义的函数
CarOrder::~ CarOrder()
{
delete ui;
}
void CarOrder::CreateDatabaseFunc() //创建SQLite数据库
{
//添加数据库驱动
sqldb=QSqlDatabase::addDatabase("Mysql");
//设置数据库名称
sqldb.setDatabaseName("fleet_assembly_system.db")
//打开此数据库
if(sqldb.open()==true)
{
//通知你数据库成功打开
QMessageBox::information(0,"正确","恭喜你,数据库打开成功",QMessageBox::ok);
}
else
{
//通知你数据库打开失败
QMessageBox::information(0,"错误","数据库打开失败",QMessageBox::ok);
}
}
void CarOrder::CreateTableFunc() //创建SQLite数据表,由于已有了数据库,因此不进行创建
{
}
void CarOrder::QueryTableFunc() //执行查询操作
{
}
void CarOrder::on_ pushButtonSort_ clicked()
{
}
void CarOrder::on_ pushButtonInsert_ clicked() //插入新的可用车信息
{
}
在 ui->setupUi(this);后面添加
CreateDatabaseFunc();
完善创建数据库的函数
完善创建数据表的函数
完善查询操作函数
完善插入函数
void search::on_pushButton_insert_clicked()
{
QSqlQuery sqlquery;
//接收外部输入
int car_id=ui->lineEdit_car_id->text().toInt();
if(car_id=0)
{
QMessageBox::critical(this,"fail","car_id输入错误",QMessageBox::Ok);
return ;
}
int max_load=ui->lineEdit_max_load->text().toInt();
if(max_load<=0)
{
QMessageBox::critical(this,"fail","max_load输入错误",QMessageBox::Ok);
return ;
}
int is_free=ui->lineEdit_is_free->text().toInt();
if(is_free!=0 || is_free!=1)
{
QMessageBox::critical(this,"fail","is_free输入错误",QMessageBox::Ok);
return ;
}
//将外部输入插入数据库
Qstring strs=QString("insert into fleet_transportation_system"
"values(%1,%2,%3)").arg(car_id).arg(max_load).arg(is_free);
if(sqlquery.exec(strs)==false)
{
}