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

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has