SQL数据库动态指针问题的探讨

2017-07-13 08:03杨泽伟铁法煤业集团有限责任公司晓南矿
消费导刊 2017年23期
关键词:指针控件调用

杨泽伟 铁法煤业(集团)有限责任公司晓南矿

前言

目前,井口显示人员信息系统采用的是asp语言设计,数据存取采用的是入栈和出栈的方式一次取出多组数据,按一定时间进行数据读取,在测试过程中会发生时间偏差,使显示信息和提出的声音文件不能同步,达不到系统的要求。由于现系统不能修改,本文以c#语言代码为标准,阐述动态指针的设计方法。

一、ASP.NET技术概况

ASP.NET是微软公司推出的一种Internet编程技术,它采用效率较高的、面向对象的方法来创建动态Web应用程序。在原来的ASP技术中,服务器端代码和客户端HTML混合在一起,常常导致页面的代码冗长而复杂,程序的逻辑难以理解。ASP.NET是一种独立于浏览器的编程模型,可以在最新版本的IE、NetscapeNavigator以及诸如Opera等被广泛使用的浏览器上运行。

现在矿内井口屏幕显示入井人员信息系统从数据库中取数据的方法采用的是按时间段一次取出多组数据后存在本地缓存中,再和服务器中人员声音进行对比播放到屏幕上,等这组数据都执行完成后再从数据库中取下组数据存入本地缓存中,在测试过程中发现数据和人员声音会发生偏差的问题,这是由于asp不能同时取出数据和声音所产生的问题。

二、改进后系统设计

(一) com组的使用

COM是开发软件组件的一种方法。组件实际上是一些小的二进制可执行程序,它们可以给应用程序,操作系统以及其他组件提供服务。开发自定义的COM组件就如同开发动态的,面向对象的API。多个COM对象可以连接起来形成应用程序或组件系统。并且组件可以在运行时刻,在不被重新链接或编译应用程序的情况下被卸下或替换掉。Microsoft的许多技术,如ActiveX,DirectX以及OLE等都是基于COM而建立起来的。并且Microsoft的开发人员也大量使用COM组件来定制他们的应用程序及操作系统。入井信息系统运行时要显示人员照片、声音、安全寄语等信息,为了同时显示这些信息,调用vs2005的com组件把系统自带的WindowsMediaPlayer播放器加入到了窗口中,这样可以把事先录制好的家属对员工的安全寄语通过指针调用播放出来。WindowsMediaPlayer播放器只是用来播放声音,不用显示在主界面上,所以它的控件布局选择了Invisible,在主界面不会显示播放器的窗口,使界面美观。

(二)系统初始状态设计

初始状态是程序在最开始运行时把所需的数据和变量都调用到程序中,首先从数据库中按当天一小时内的数据用sql语句进行筛选取入数据集中,这时我们可以看到一小时内的数据,从这些字段中把下井时间作为主键存放到文本中,为后面的调用做比较使用。这时以数据集中第一条数据作为动态指针的开始位置,取出人员姓名、安全寄语等信息显示在窗口上。以员工职号为主键调出服务器中的声音文件,使用WindowsMediaPlayer播放器进行播放,这样就完成了数据和指针的初始状态设置。

(三)循环调用指针设计

在对数据库操作时,对调用的表设置一个记录位置的指针,指针所指向的记录称为当前记录,用sql语句可返回指针所指向的记录值。当要修改某条数据时,需将指针指向该记录。在表文件打开时,记录指针指向第一条记录,即首记录成为当前记录。记录指针可以移动指向任何一个记录位置上,也可指向最后一个条记录,这时指针再向下移动一条时可能判断出是否到表尾。当记录指针指向表尾时,可以用记录数返回条数,当无数据时返回值为0。

指针循环调用是本系统中的重点,由于数据库是时时更新的,因此用一个时间控件,设置时间控件激活为7秒,这样每7秒时间就会重新调用一次指针,让筛选数据和显示数据通过指针联结起来,达到系统要求。首先,从初始状态中取出人员下井时间字段作为标识,然后,在数据库中进行第一次数据筛选,把数据库中一小时内人员存入中间表。这里需要进行一次判断,因为对数据库取数时可能暂时无下井人员,无人员时让屏幕显示无人员,把指针所指向最后一条数据记录内容取出存入中间变量。当根据标识数据取出大于下井时间数据后,指针指向数据库第一条记录,取出人员信息显示到屏幕上,把下井时间信息存入到中间变量。在时间控件下次执行时系统根据中间变量再次的根据条件取出数据,指针再次指向第一条数据取出人员信息,就样就达到了指针的循环调用,每次时间控件都会更新一次,数据指针会重新调用一次。

三、结束语

通过对井口人员信息系统的改进,使用动态指针让系统对人员信息达到了时间监控,使管理人员方便管理。使用时间控件和指针相结合,设计出循环指针,实现了动态调用数据的要求,完成了系统要求。

猜你喜欢
指针控件调用
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
关于.net控件数组的探讨
为什么表的指针都按照顺时针方向转动
基于系统调用的恶意软件检测技术研究
基于改进Hough变换和BP网络的指针仪表识别
ASP.NET服务器端验证控件的使用
ARM Cortex—MO/MO+单片机的指针变量替换方法
利用RFC技术实现SAP系统接口通信
基于嵌入式MINIGUI控件子类化技术的深入研究与应用