#include "message.h"
#include <QSqlQuery>
#include <QNetworkRequest>
#include <QString>
#include <QDebug>
#include <QDateTime>
#include "widget.h"
#include <QMessageBox>
message::message()
{
}
void message::mySlot(QString str)
{
QSqlDatabase db;
if (QSqlDatabase::contains(QSqlDatabase::defaultConnection))
{
db = QSqlDatabase::database(QSqlDatabase::defaultConnection);
}
else
{
db = QSqlDatabase::addDatabase("QMYSQL"); // 采用MySQL数据库
}
db.setHostName(""); // 数据库服务器IP
db.setDatabaseName("car_park"); // 数据库名car_park
db.setUserName("root"); // 用户名
db.setPassword(""); // 密码
db.setPort(3306); // 端口号
db.open();
// 查询空车位数量
QString temp_car = QString("select * from cnt where number='%1' ").arg("number_of_c");
QSqlQuery temp_query;
// temp_query=(QSqlQuery)db;
temp_query.exec(temp_car);
temp_query.next();
int temp_cnt = temp_query.value(1).toInt();
if (temp_cnt == 0)
{
QMessageBox::warning(this, tr("警告!"), tr("停车场已无车位"), QMessageBox::Yes);
}
else
{
// 进入操作
QString number = QString("select * from message where number='%1' ").arg(str);
QSqlQuery query, query_1, query_2;
query = (QSqlQuery)db;
int times;
// 存储进入次数
if (query.exec(number) && query.next())
{
// 修改已有信息
times = query.value(1).toInt();
times++;
QString temp = QString("update message set times = '%1' where number = '%2'").arg(times).arg(str);
query.exec(temp);
}
else
{
// 第一次进入
QString s = QString("insert into message(number,times,total_time,pay) values('%1', '%2','%3','%4')").arg(str).arg(1).arg(0).arg(0);
query_2.exec(s);
}
// 更改车场信息
temp_cnt--;
QString temp_change = QString("update cnt set cnt = '%1' where number = '%2'").arg(temp_cnt).arg("number_of_c");
temp_query.exec(temp_change);
// 获取当前时间
QDateTime dateTime(QDateTime::currentDateTime());
QString time = dateTime.toString("yyyy-MM-dd hh:mm:ss");
// 存储车牌和进入时间
QString ch = QString("insert into car_number(number,time) values('%1', '%2')").arg(str).arg(time);
query_1.exec(ch);
}
}
void message::Slot_out(QString str)
{
QSqlDatabase db;
if (QSqlDatabase::contains(QSqlDatabase::defaultConnection))
{
db = QSqlDatabase::database(QSqlDatabase::defaultConnection);
}
else
{
db = QSqlDatabase::addDatabase("QMYSQL"); // 采用MySQL数据库
}
db.setHostName(""); // 数据库服务器IP
db.setDatabaseName("car_park"); // 数据库名car_park
db.setUserName("root"); // 用户名
db.setPassword(""); // 密码
db.setPort(3306); // 端口号
db.open();
QString Str = QString("select * from car_number where number='%1' ").arg(str);
QSqlQuery query;
query = (QSqlQuery)db;
query.exec(Str);
query.next();
QString time = query.value(1).toString();
QDateTime time_1 = QDateTime::fromString(time, "yyyy-MM-dd hh:mm:ss");
QDateTime time_2 = QDateTime::currentDateTime();
int second = time_1.secsTo(time_2); // 计算时间差
cos = new cost;
connect(this, SIGNAL(Signal_cost(int, QString)), cos, SLOT(Slot_cost(int, QString)));
qDebug() << "time2 - time1=" << second / 60;
emit Signal_cost(second, str);
// 删除数据库中车牌号
QString a = QString("delete from car_number where number = '%1'").arg(str);
query.exec(a);
// 更改车场信息
QString temp_car = QString("select * from cnt where number='%1' ").arg("number_of_c");
QSqlQuery temp_query;
temp_query.exec(temp_car);
temp_query.next();
int temp_cnt = temp_query.value(1).toInt();
temp_cnt++;
QString temp_change = QString("update cnt set cnt = '%1' where number = '%2'").arg(temp_cnt).arg("number_of_c");
temp_query.exec(temp_change);
}
void message::Slot_message(QString number, int total, double pay)
{
QSqlDatabase db;
if (QSqlDatabase::contains(QSqlDatabase::defaultConnection))
{
db = QSqlDatabase::database(QSqlDatabase::defaultConnection);
}
else
{
db = QSqlDatabase::addDatabase("QMYSQL"); // 采用MySQL数据库
}
db.setHostName(""); // 数据库服务器IP
db.setDatabaseName("car_park"); // 数据库名car_park
db.setUserName("root"); // 用户名
db.setPassword(""); // 密码
db.setPort(3306); // 端口号
db.open();
// 获取目前时长费用
QString Str = QString("select * from message where number='%1' ").arg(number);
QSqlQuery query;
query = (QSqlQuery)db;
query.exec(Str);
query.next();
int total_time = query.value(2).toDouble();
double cost = query.value(3).toDouble();
// 传入时长,费用
total_time += total;
cost += pay;
QString temp = QString("update message set total_time = '%1' where number = '%2'").arg(total_time).arg(number);
query.exec(temp);
QString temp_1 = QString("update message set pay = '%1' where number = '%2'").arg(pay).arg(number);
query.exec(temp_1);
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于Qt5开发的停车场管理系统源码
共88个文件
h:23个
cpp:23个
o:22个
需积分: 0 35 下载量 192 浏览量
2023-12-08
20:56:25
上传
评论 1
收藏 5.7MB ZIP 举报
温馨提示
> 车牌识别使用的是百度智能云的车牌识别AI > 数据库使用的是华为云的云数据库 ## 功能 - 车辆进入便道需要识别车辆的车牌号码。 - 记录从便道进入停车场的车辆的信息,比如车辆的车牌号码、入场时间。 - 车辆离场时,需要识别车辆的车牌号码,计算离场时间并计费;如便道有车,开始驱动车辆入场。 - 计费定价维护 - 统计功能:车场车辆数、空车位数量、便道车数量;时间段内收费总额;指定车进出记录。 - 维护功能:计费方式维护。
资源推荐
资源详情
资源评论
收起资源包目录
停车场管理系统.zip (88个子文件)
停车场管理系统
build-park-Desktop_Qt_5_10_0_MinGW_32bit-Debug
ui_widget.h 5KB
ui_ai.h 1KB
ui_serch.h 6KB
Makefile 24KB
ui_signin.h 5KB
1.png 259KB
debug
serch.o 617KB
moc_ai.o 370KB
moc_cost.o 453KB
moc_sign_in.o 442KB
moc_sign_in.cpp 4KB
moc_login.o 359KB
moc_signin.o 440KB
moc_cost.cpp 5KB
charge_rules.o 575KB
moc_serch.cpp 4KB
sign_in.o 616KB
change_ui.o 2KB
park.exe 8.37MB
moc_number_of_car.o 442KB
login.o 635KB
moc_signin.cpp 3KB
moc_login.cpp 4KB
ai.o 649KB
moc_widget.cpp 5KB
number_of_car.o 597KB
moc_message.o 454KB
message.o 538KB
moc_widget.o 359KB
moc_message.cpp 5KB
moc_ai.cpp 5KB
main.o 567KB
moc_charge_rules.o 443KB
moc_number_of_car.cpp 4KB
widget.o 592KB
signin.o 557KB
moc_serch.o 441KB
moc_predefs.h 10KB
moc_charge_rules.cpp 5KB
cost.o 581KB
ui_cost.h 4KB
object_script.park.Debug 402B
release
ui_sign_in.h 5KB
ui_number_of_car.h 4KB
Makefile.Release 189KB
object_script.park.Release 440B
Makefile.Debug 189KB
.qmake.stash 943B
ui_register.h 4KB
ui_login.h 5KB
ui_charge_rules.h 6KB
park
widget.ui 4KB
message.h 475B
number_of_car.cpp 1KB
serch.ui 5KB
number_of_car.ui 3KB
number_of_car.h 406B
ai.ui 497B
login.cpp 2KB
widget.cpp 3KB
sign_in.ui 3KB
serch.cpp 2KB
register.cpp 206B
login.ui 4KB
cost.cpp 1KB
ai.cpp 5KB
change_ui.cpp 58B
main.cpp 240B
register.ui 3KB
sign_in.cpp 3KB
park.pro 1KB
ai.h 916B
charge_rules.h 526B
serch.h 357B
cost.ui 3KB
change_ui.h 120B
rgt.h 289B
message.cpp 6KB
signin.h 273B
signin.cpp 201B
sign_in.h 373B
charge_rules.ui 5KB
park.pro.user 23KB
charge_rules.cpp 1015B
cost.h 577B
widget.h 781B
signin.ui 3KB
login.h 462B
共 88 条
- 1
资源评论
ldh-02
- 粉丝: 81
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用 C 语言实现的计算非负整数的阶乘
- 2011-2021最新版本北京大学数字普惠金融指数(PKU-DFIIC).xlsx
- 县域数字乡村指数2018-2020(1).xlsx
- Docker容器配置进阶
- tensorflow-gpu-2.7.4-cp37-cp37m-manylinux2010-x86-64.whl
- 多段线、 圆、弧转多段线(仅我可见)
- tensorflow-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- 李慧琴C语言基础部分.zip
- yeyue-p8Yi4-ve4a83792.apk
- tensorflow-gpu-2.7.3-cp38-cp38-manylinux2010-x86-64.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功