idea access数据库连接_超限超载不停车称重检测系统数据库技术

本文主要是介绍idea access数据库连接_超限超载不停车称重检测系统数据库技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘 要"针对高速公路超限问题,广州聚杰研制了一套超限超载不停车称重。该系统采用集成与研发相结合的研究方法,分别与车辆称重系统和车牌识别系统相集成,自行研发了一套车辆超限管理系 统。该系统采用Microsoft Visual C++6.0编程语言,以Windows2000系统为开发平台,以研华工控机为 硬件支持,完成软件的编程设计。采用2个德国SICK公司LMS221室外测距传感器,通过激光扫描实现 非接触式测量距离,根据距离绘制二维图像,从而完成对通过此门禁的车辆是否超限进行测量和判断。 本软件采用微软ACCESS2000数据库,用SQL语言调用Access数据库,该数据库实现了单条记录的写入、 数据的自动备份与压缩、列表的直观显示等功能,对通过的车辆信息进行记录和保存,方便管理者查 询和管理。

087b8fc2-7112-eb11-8da9-e4434bdf6706.png

1系统总体结构设计

车辆超限对高速公路方面投入了很多的财力、人力和物力"%针对此问题, 研制了一套高速公路车辆超限检测系统。本系统为实现 车辆的动态称重和车牌的自动识别,分别集成了西安杰 泰公司研制的动态轴重仪和哈尔滨飞扬软件技术有限公 司设计开发的高速公路收费站车牌照识别系统。装载的 几何尺寸识别部分为自行开发设计,主要采用了2个德 国SICK公司LMS221室外测距传感器,这2个传感器

安装在门禁装置上,通过激光扫描实现非接触式测量距 离,根据距离绘制车辆轮廓的二维图像。在软件编程方 面本系统采用Visual C++语言,在Windows2000平台上 以研华工控机为硬件支持,完成软件的,编程设计与开发 乳 系统框图如图1所示。

此数据列表中,使使用者能够一目了然地获取车辆信息。

(3)列表清空及数据库自动备份功能。由于收费站 每天通过车辆众多,经检测,每天有1 000 ~ 1 500辆车 通过。常年以往,不可能将所有通过的被检测车辆的信 息都显示在操作界面的数据列表并保存在Access数据库

中,那样既没必要也 浪费程序的运行效 率。为此,设计了列 表清空及数据库自动 备份功能。软件每次 实时将车辆信息写入 数据库之前,总是先 实时判断是否新的月 份已经到达。如果是 的话,则软件会自动 将包含已经过去的一 个月的所有通过车辆 信息的数据库进行 备份,保存到路径 "D:backup”中,将 此备份数据库文件名

0a7b8fc2-7112-eb11-8da9-e4434bdf6706.png

2系统数据库功能

本软件数据库为微软ACCESS2000数据库何预,采 用ADO接口技术,通过JET数据库引擎对ACCESS2000 字定义为“****年**月”,年、月的数值对应于过去的 一个月的年、月数值。数据库文件备份完成之后,还会 将操作界面的列表清空,重新开始显示新的一个月的通 过车辆信息。

进行访问和操作,记录和存储所有通过车辆信息。采用

(4)数据库自动压缩功能。数据库文件备份完成之后,

SQL语言调用Access数据库。数据库中包含表项:序号、 车高、车宽、车重、是否超高、是否超重、是否超长、 会删除原有数据库文件的内容,同时重新保存新的一个 月的通过车辆信息。但由于Access数据库不能自动释放

车牌号、日期和时间。数据库列表显示在系统界面的下方, 被删除掉的记录选项所占有的存储空间,这样会导致虽

然数据库内容删除,但实际数据 库大小并未改变,因此,添加了 数据库自动压缩功能。在删除掉 数据库所有记录选项后,通过调 用相应的软件代码对数据库进 行自动压缩,节省存储空间。

0b7b8fc2-7112-eb11-8da9-e4434bdf6706.png

3数据库功能实现

3.1数据库的初始化

程序启动时,需要对ado 数据库进行加载和初始化。主要

该系统数据库主要完 成的功能如下:

(1)数据库写入功能。 车辆进入收费站后,此车 辆各种车体信息已经检测 完毕,包括车辆高度、车 辆宽度、车辆重量、车辆 超重数值、车辆是否超高、 车辆是否超宽、车辆是否 超重、车辆是否超长、车辆车牌号、对应日期,以及对应时间等各种信息将实时 写入Access数据库中。

(2)列表显示功能。为了将车辆信息如实地反馈给 路政执法人员,在操作界面中添加了数据列表。在通过 车辆信息写入数据库中的同时,也将此信息实时显示在 在 CCCarWeightTestApp::InitInstance()函数中完成。包括 初始化COM库、用Connection对象连接数据库等操作。

3.2列表的初始化及使用

在本开发系统中,数据库内容通过列表ListCtrl在 CCCarWeightTestView视图类所对应的窗口中显示。程序启动时,需要对列表进行初始化操作。列 表的初始化在 CCCarWeightTestVifcw::OnInitialUpdate() 中实现。列表初始化后,通过CCCarWeightTestView:: List(CString sql)函数来加载数据库内容并显示在列表上。

3.3数据库单条记录写入功能

在 CControIView:: JudgeLWOverLimit (int _index)函 数中,实现了数据库单条记录写入功能。此功能主要通 过使用SQL中的INSERT插入命令来实现。在此函数的 最后部分,根据要写入数据库的新的记录信息,生成具 有INSERT功能的SQL语句,并将此语句赋予字符串变 量 theApp.m_strSQL。之后调用 theApp.m_pConnection- >Execute()语句来将新的记录信息写入到数据库中,然后 将新的记录信息通过 infoForceFormView->m_list.SetItem() 来显示到列表中」现,即将当前目录下的数据库复制一份拷贝到指定目 录下,即完成了相应的备份功能。之后,通过SQL删 除命令delete来将当前目录下的数据库内容清空。然 后,建立UetEnginePtr引擎对象jet,通过调用jet- >CompactDatabase()函数来完成当前目录下的数据库容量的压缩。

3.4数据库自动备份与压缩功能

根据实际需要,每隔一个月对数据库的数据进 行自动备份与压缩。此功能同样在CControlView:: JudgeLWOverLimit(int _index)函数中实现。在此函数 中,在新的记录信息写入数据库之前,首先利用CTime:: GetCurrentTime。函数来获取当前的年、月,然后将它们 分别与数据库另一张表中存储的原有年、月记录相比较, 如果它们有变化,则需要将最新的年、月信息替代数据 库中存储的原有年、月,此替代功能通过使用SQL中的 update更新命令来实现。注意到,当月份变化,即新的 月份到来时,还需要将刚刚过去月份的数据库记录自动 备份到指定的目录下。备份完毕后,将当前的数据库内 容清空。注意到,由于ACCESS数据库文件的所占磁盘 空间大小并不会随着其内部记录项的减少或清空而减小。 所以,在自动备份完毕后,还需要将当前目录下的数据 库文件进行压缩。

数据库的自动备份主要是通过CopyFileO函数来实能够对通过车辆的信息进行查询和管理。

4结语

高速公路车辆超限检测系统实现了对车辆的动态称

0c7b8fc2-7112-eb11-8da9-e4434bdf6706.png

重、车辆的宽度和高度测量并判断其是否超限,完成了 车牌照的自动识别。采用VC++编程技术,实现了软件 的编程设计,利用Access 2000数据库技术实现了数据的自动保存、备份以及数据库的自动更新和压缩等功能, 将车辆的信息以列表的形式直观地显示给用户。

这篇关于idea access数据库连接_超限超载不停车称重检测系统数据库技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342162

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma