




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
访客管理系统的开发摘 要 本文首先对访客管理系统作了简要的分析,包括需求分析和可行性分析;其次对系统的设计思路作了详尽的说明,介绍了系统的具体实施过程,各个模块的创建与设计,并提供了所需的各代码段。 通过对访客管理系统实施过程的详细介绍和说明,基本描述了该系统的设计和开发过程,最后针对系统调试和测试要注意的问题作了说明,并简单介绍了该系统的运行环境以及如何使用系统。【关键字】系统流程,系统设计,数据库,1.1系统概述应用背景与系统功能 随着计算机技术的不断发展,公司、企业和机关的计算机化管理已经逐渐普及,计算机技术已经深入到企业管理的各个方面。例如本章中所要设计的访客管理系统、利用它就可以安全、可靠的管理公司、企业的访客记录,不仅可以保障公司安全更可以提高公司的管理水平和形象。本系统是一个小型访客管理系统,Visual Basic开发来进行数据库操作、系统开发的,总体任务是实现访客的登记、查询和本管理系统的用户权限维护和使用记录。本系统主要完成的功能有: 记录访客的基本资料,包括访客姓名、性别、来访时间、访问理由等,井将访客的资料存入访客资料数据表中。用户数据的维护,即维护用户数据表,完成各种对用户的操作,如用户登录、添加用户、更改密码和查看用户资料等。用户使用如查看访客资料,查看用户资料(依用户权限杳着,可以按姓名、性别、来访时间、来访原因查看)等。用户操作记录,记录每个用户的访问时间,以及用户进行的操作。用户权限管理,按照数据表里记录的权限,允许其执行相应的功能。1.2 系统预览用户成功登陆成功后进入系统的主界面,如图1-1所示图1-1 系统主界面-访客登记系统的主界面主要包括以下几部分:1)菜单2)工具栏3)当前用户状态说明4)程序主窗口1.2 系统设计1.2.1系统设计思想本系统主要完成访客资料的记录和查询,为此,系统必须能够维护一个记录访客洋细资料的数据表,对该表进行写入和读出数据的操作。与此同时本系统还要给护用户权限,这样系统必须维护用户资料数据表,管理用户ID,密码和用户权限类型。系统还要能够记录和查询用户的一个操作。记录用户操作的数据表。记录用户lD 、所进行的操作类型以及该操作的具体时间等首先用户登录系统时,程序要从己有的用户资料数据表中读出用户名和密码。检验该密码和用户输入的密码是否匹配,只有用户名在数据库中存在,且密码庄确时,用户才能进入系统。当有访客来访需要登记时,程序就将用户填写的访客资料写入访客资料数据表中。管理员查询访客资料时,程序又从数据库中读出访客记录。修改密码和添加新用户资料时,也能完成数据库的写入操作,另外,用户和管理员的某个操作会记录到用户操作记录数据表中。当管理员查询这些记录时,再从该表中按照管理员的查询要求读出。1.2.2 系统功能模块划分根据上述的系统总体设计思想的分析,将系统分为以下几部分:访客管理模块:用于实现访客资料记录和访客资料查询功能。用户管理模块;用实现用登录管理,用户资料管理和用户权限管理等功能记录管理模块:用于实现自动添加用户操作记录和查询操作记录功能系统功能图3 一7 所示的系统功能模块图图1-2系统功能模块图1.2.3 系统流程分析本系统流程比较简单,用户登录检验成功后,就进入系统。用户选择不同的操作,有些操作需要判断权限,然后对数据库进行相应的操作。系统流程图如图3-8所示。图3-8 系统流程图. 3.3 数据库设计对于开发数据库应用系统而言,大致可分为数据库分析、设计和应用程序分析、设计两部分。 数据库的合理设计在系统设计中占有非常重要的她位,它可以提高数据存储效率,保证数据的完整致。要设计出一个性能良好的数据库应用系统并不是一件简中的工作。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。本系统以下几个步骤来设计数据库: (1)数据库需求分析。 (2)数据库概念结构设计。 (3)数据库逻辑结构设计。1.3.1 数据库需求分析现在要设计的数据库系统要应用于访客登记管理,所以必须充分满足访客登记管理的各种要求。此系统要求登记每一位访客的资料,并允许有权限的用户查询这些资料,也因为这样系统必须同时维护用户数据,对每个操作都要判断用户权限是否符合要求,系统还记录每个用户的每次操作,以便系统管理员能查看所有用户的操作历史记录、通过上述分析,数据库设计必须满足以下几点: 用户可记录访客资料。 高级用户和系统管理员可查询访客资料。为了查询访客资料可查询字段在访客登记时必须设为必填字段,以供杳询:如访客妙名、性别、来访时间、来访原因及记录用户的ID系统管理员可查询用户操作记求:为了查询操作记求,可查询字段在每次记录操作时必须设为必填字段:如用户ID 、操作时间和操作类型(登记访客资料、查询访客资料、更改密码、添加新用户、查看用户资料、查看操作记录)用户ID 必须唯一每个用户ID 必须对应一个用户类型(普通用户、高级用户、系统管理员),以便在进仃某些操作时判断权限。 用户记录可以添加和修改。 系统管理员可以查看用户资料。 访客登记和用户操作记录中的用户字段必须和用户表中的用户ID 相关联。 1.3.2 数据库概念结构设计通过对此系统的总体分析,我们可以得到大概的实体一关系模型图3-10 访客管理系统的E-R 模型1.3.3 数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。访客管理系统数据库中各个表的设计结果如表1-1、表1-2、表1-3所示。每个表格表示在数据库中的一个表,数据库由三个数据表组成;一个是访客登记表(guestinfo),第二个是用户信息数据表(userinfo),第三个是用户操作记录数据表(userrecord)。表1-1 访客登记数据表(guestinfo)表1-2用户信息数据表表1-3用户操作记录数据表1.4 数据库的生成与配置1.4.1 建立数据库首先使用Access 新建一个数据库。命名为Guest.mdb该数据库包含3 个数据表: 储存访客信息的表Guestlnfo 。储存用户信息的表Userinfo。储存用户操作信息的表UserRecord1.4.2 设计数据表 以上各表建立完成后,分别将1.3.3 中设计的字段信息填入表的设计视图中图3 。12 用户信息表Userlnfo 的设计现图 对于各个数据表中某些取值固定的字段,为了避免错误和简化输入,可以设置字段的取值范围。具体方法是:首先单击字段属性中的”查阅”选项卡然后将”显示控件属性改为“列表框”,行来源类型属性改为值列表,在行来源中输入字段的取值,各个取值之间用;分开。 按上述步骤建好这3 个数据表的结构后接着建立表之间的关系,在Access 系统中建立表之间的关系也非常容易。选择菜单【工具】 【关系】 命令,者单由工具栏上的【关系】 图标,打开Access 关系视图首先在“显示表” 对话框中将需要建立关系的表添加到“关系”窗口中,然后直接拖动鼠标,将要建立又系的字段连接起来便会有一条实线连接在两字段之间,这样就建立好表之间的关系了。在建立了数据表之间的关系后,建立关系的字段属性将不能再更改,要更改则必须先取消关系,更改字段属性后再重新建立连接因此通常在各数据表都建立得比较完善后才建立数据表之间的关系 1.5 公共模块 启动Visual Basic 6.0 后,新建一个标准EXE 工程,然后将该工程保存,选择保存路径,并命名为访客管理系统工程。 接着给该工程添加一个模块。选择菜单【工程】-【添加模块】命令,命名为Mdipublic。此模块的主要功能是定义公共变最和公共类型。 1.5.1添加全局变量 首先我们加入两个全局变量,它们的名称和功能如下 : 定义数据类型 1.52下面用到的Usertype数据类型定义如下: 1.5.3 定义公共函数 AddRec函数用于记录所有的用户操作,需要应用于各个窗体,因此在此模块中定义为公共函数,具体定义和功能参见程序3-1 。 至此,本程序中需要用到的公共变量和公共函数已经添加完毕接下来添加各个操作界向窗口。 3.6 用户登录界面设计 首先设计的是用户登录界面。此界面主要有两个功能; 连接数据库。 检验用户登录。 1.6.1设计用户登录窗体控件布局 选择菜单【工程】-【 添加窗体】命令,或者在工程资源管理器中用鼠标右键单击工程,在弹出的快捷菜单中选择【添加】-【 添加窗体】 命令,在工程中添加个窗体,命名为frm_login。 1.6.2用户登陆界面编辑状态预览 添加各个控件及设置的属性后适当地调整各控件的人小和位置得到如图3-4所示的登录界面设计视图。 1.63 用户登录界面设计完成后,接着就需要编写代码来实现该界面的相应功能。首先给出该界面的流程图然后分别讲述各部分的实现代码1 登录界面代码流程图3 一16 登录界面代码实现流程 2.Form_Load 过程 这是系统启动界面,因此首先在FormLoad 过程连接数据库,以便检验需要登录用户ID和密码。另外本过程也检验本程序是否已经启动过,以避免程序重复运行。具体代码如例程3 一2 所示。例程32 Forme 劫ad 过程 3 【登录】和【取消】 按钮的实现代码 在用户登录界面,我们主要实现【登录】和【取消】两个按钮的功能,当用户单击【登录】按钮后,程序应该检验用户输入的ID 是否存在,密码是否正确,正确则将用户资料存入内存并进入系统。如果单击【取消】按钮则退出程序。下面的例程3 一3 就是这部分的具体实现代码。 3.7 用户管理界面设计 用户登录界面完成后,接着设计几个需要用到的功能界面,首先是用户管理界面,此界面主要有以下几个功能; 修改用户密码。 添加新用户。 查看用户资料。 1.7.1设计用户管理界面控件布局 在工程中添加一个窗体,命名为frm_user。接着按表3-5 所示的设置为用户管理窗体添加控件(己有控件只需设置属性即可)。表1-5 用户管理窗体及其控件属性的设置 listView 控件LvQuery的设置如下:建立ListView 控件并按照表1-3所示命名设置属性后,用鼠标右键单击该控件在弹出的快捷菜单中选择【属性】命令,然后在弹出的对话框中选择列首选项卡,单击【插入列】按钮,依次给日listview 控件添加4个列,用户ID 、用户名、用户类型和备注,再调整各个列的列宽到合适的大小 1.7.2 用户管理界面编辑状态预览 正确按照上述内容设置各个控件的属性后 然后适当地调整各神件的大小和位置可得到如图3 一17 所示的用户管理界面设计视图。其中和LvQuery 列表框在设计视图中是重叠在一起的 3.7.3 用户管理界面的实现代码界面设计完成后,接着编写代码实现用户管理界面的相应功能。 1.Form_Load 过程 因为进入用户管理界面的默认框架是修改密码框架framemodify,所以首先在Form_load过程中将当前用户的用户名显示在框架标题中,代码如下: 2.下面添加几个简单的框架切换的函数 后面将要用到。代码如例程3 一4 所示J 例程3 一4 自定义几个框架切换函数的代码 显示修改密码框架P 不iv 己te SubH 浏立妙vle 讨() He . rr 确e 州odi 即visible 二True He , Fra 阅eAddne 讨VISible 二Fa1Se 摊e , L 试加ery . Visible 二F 已l 岛已End Sub 显示添加用户框架Pr iv 己tes 公b Addne 认勺ie 切) 阿e . Fu 口me 加。月主f 丫V 生sible 二尸alse H 亡,FrameAddne 切V 主Sible 0 True 材e . L 几弋拍。守V 主日ible 二Fal 分e End SUb 显示查询结果框架护r j vate Sub QueryV3 四( 林e . Frdme 枷dify . V 主5 丘ble 二F 良lse 林e . F 厂已出,eAdd 功e 讨 Visible 二False e . L 几哎u 它ry . vlsible 二True End Sub 3 修改密码的实现代码:cmdmodify0k_Click()事件 接着添加修改密码的实现代码。当用户单击修改密码框架FrameModify 中的【修改】 按钮CmdModifyok时,程序将检验该框架中各项内容的填写是否正确,若正确则将这条记录写入访客登记数据表Guestinfo 中,并且将本操作记录到用户操作记录数据表UserRecord 中,以便查询。例程3 一5 是该部分实现代码。 例程3 一5 修改密码的实现代码Pr 注va 。它subCI 叱囚odify ( ) k 一c 工i 亡k ) 修改密码Dl 功chgUser As New 八刃心DB . Recordset Di 翻D 泊日匕r As String 检验输入内容工f 州e . T 以tHadlf 丫二ld . T 郎L = 角en Msg 它。x 请输入原密码!Exit Sub Rl 自仑工f Len 竹im (淤Tex 七封。 ifyold . Text ) ) , 8 Then 州s 。加x ”原密码过长!EXit SUb E 月口丁f 1 f He . 1 ,户xt 州odifyN 洲1 . Text 二”口he 几 72 , 。二。理,二黔获讼蒸戴取gBDxl 请轴入新密码l Ex 1 t gub EI 名e 工fL 教l Tll 印抓eT 日入t Mod 屯七yNcw 渔丁日x 七)) ) S 丁月念n 从写g 习ox 新密码过长】 Rx 注ts 吐 E 几d If 工f ”亡Te 义t 封韶if 尹Je 树ZText 二” Then 取gBox 请输入新密码确认:Exit Sub Elself Len 喂Trim M 色Text 助d 工fyN 它wZ . rext ) ) 8 厄l e 己HogB0x ”新密码确认过长】 E 义i 七弓ub End If If 州e . TextHOiify 加e 诃1 . Te 火七 Me . T 以tModifyN 曰刀ZText The 月淞g 它。二”两次轴入新密码不一致I Exit Sub End If 写数据库DBs 匕丁二s 晚lect 去f 工Om U3erlnfO 材h 色re 甘息仑rID 二. 阳s 匕r 二D 扫8 七r & Rep 正日口e 叮User ,句悴ID , , ” 1 打J 于数据集chgtjser 咋吧n DB 日L 工DBC 朋,己dopenstatic . adLock 沁Li 印i 匕ic 致据集指针指向第一个记录这里资找到的记录是惟一的C 殉Uger 助,. Fir 日七检验旧密码工f Trim ( He 飞xt 吻difyo 飞d . T 以t )二C 沟User . Fi 仑lds ( User 功呀d ) . v 口luo Then 叮hg 血er . Fields ( userl 、d ! 粗1 住e 二鞭犯xc 脚difyNewl 怜x 之EI 弓它HsgBox 原密码错误,修改密码失败,End If ,更新Chgus 仑r , UPdate ,关闭数据集ChgUser . C10se 弹出提示框提示用户州ggBox 修改成功犷 记录该操作AddR 色亡(3 ) End 3Ub 4添加用户的实现代码cmdAddok_click()事件 然后编写添加用户的实现代码。当用户单击修改密码框架FrameAddnew 中的【添加】按钮cmdAddok 时,程序即检验各项内容填写是否正确,若正确则将这条记录添加到访客登记数据表Guestinfo中,并且将本操作记录到用户操作记录数据表UserRecord中。以便查询。例程3 一6 是该部分的实现代码。例程3 一6 添加用户的实现代码privote sub 。忧认d 如kjiick ) 添加新用户口主皿AddUgerA 卜New ADO 力它neoord 日et Di 角sqlstr Asg 匕工ing 白主m DB 吕tr AsS 屯ring r ) im UsrID A3S 七ring 73 i u 司日。、。口1 功日手犷N 己I 户口飞详口与11 呀月入叹S 七丁乙门g 八55 (卜止rl 自检验输入内容二三Me :、x 七Add 工L ) . ?犬r 二丁h 阿1 MsgB 。、 谕瀚入需要创建的用户丁叫巨次it 写七b E 二牛el ,乙e , Tr 爪(月e Tx 仁AddID . rext 飞1 ) 16 Then N ; ; g 只。x ,用户ID 长度超出范围!、FX 上Rl 飞dl 仁U 绍【 )S 以匕二Repl 日ce ( TI lm ( M 日你tAddl 乞于,Text 少If 从u lextAd 由叼印下亡 口e 义t 二厅The 民州。gBc 拼,脚喻入需要创建的用户名l 霓x 1 t gub 只日elf le 户(T 厂主用(Me , TeXtAd 由Jame 丁ex 七) ”、g 移。x 用户妙名长度超出范围!民义l 匕Sub End If usrNa 扣e 二只eplaoe ( Tri 翻fMe . TextAd 由口白介e ) 4 竹旧刀甲e 父t ) 1 f Me . c 加止均Add 巧下e 飞x 七 Then 阿59 已ox 请透择需要创建的用户类型l ZxiL gub End 二fM 户甲。xtAdd 外了dl 。Text 二, Then ,。Box ,礴输入需要创建的用户密码!, 日xi 之gub 它二self :e 八L ? rlm 对eText 八dd 汽司1 . T 它xt 、), 8 The 价End 只、gBox ,密码长度超出范围!E 沉1 七SUb l 七If Me . TeX 仁八dd 众祖2 . TeXt 。丁hen 从,q soxU 确轴入藉要创建的用户密码确认1 匕Xi 匕Sub Elsolf Len 哎Tri 限硬He 。Tex 仁入ddP d2 丁ex 七) ) 9 Then Mog3 。洲 密码长度相出范围: Ex 工仁Sub E 们d 之盯1 f He . Tex 仁Add 协夕dl . Text )州e 甲ex 七入dd 户帆 2 . Te 荞欲Then 从sgBox 两次轴入密码不r 致1 Exi 匕SUb 屁ndt 口sr 、阳d 二Reploce ( Trim 兀Me . T 啥盆tAddP 钟dl , Text )。 r OBb 七r 二”select . frQ 职Userlnfo 讨here User 土D 二”权U 岛rl ,凡 们开数据集八ddUser 印en DBst 厂r DB (朋,己d 卯enF0r 呢r 改劝犷,ad 乙ockopt 工讯之5 七i 口上f Not AddUS 已r . BOF Th 巳n MsgB 似 该用户已存在1 翔dUser . CI 。吕e 它xit Sub EnJ If 关闭数据集AddU 月er . Clo 弓e 操作数据库添加记录Sglst 厂二”工NsERT 工奎打劝Us 啥rlnfo _ User 二D . user 呵。口与e 工乃乍e ,口sor 卜心目_ 74 . 3 访。理系坎夏二i 簇:2 ; 印几、月,、人、抓IV 八J 习 SL ,肠口,tT 户扮”“肠反U 出丫权d 叶户反卜乓反几宁。几(Me ,了吸曲oAdd 几pe . Text )及 r & 卜r 挤晚“) ; L BC 丁 : ,弓xc 心以t 仓昌q S 飞工提叮、月户M : , B 。二”添加成功 清空界!断材户卫父七几ddID . TeX 七二Me Tex 亡Ad 由Ja 厂el 仓xt = 片州e 护ext 八dd 自、dl 丁ex 旨 He . Tex 匕入dd 认dZ 、T 心xt 二 记录该操作八ddR 巳 可4 加E 几d 互口b 5用户查询的实现代码CmdQuery_Click() 事件 然后添加用户查询的实现代码。当用户单击窗体中的【用户查询】 按钮CmdQuery 时,程序先检验用户权限类型是否符合要求因为本系统中只有系统管理员才能查询用户资料。检验符合后将所有用户资料显示在Listview列表框中,并且将本操作记录到用户操作记录数据表UserRecord 中,以便查询。例程3 一7 是该部分的实现代码。例程3 一7 用户查询的实现代码Pr 主v 日t 05 、Jb 。彼心uen 乞cl 主ck )查询用户Di 扣甘s 它fQue 即再5 New 八乃 LIB 只ecor 已吕et D 二和i 八闷I 户七eqer I i 扣弓匕丫八9 gtring Di 即l , tl 匕m AsL 工Stlte 厂Dj 阳DBsL 石As gLring 检验用户权限1 f LJse 水。w 马,白 0 Then , gBox 对不起。您不是系统管理员不能查询用户!尽xi 匕Sub End If Que 妇产V 工e 加渭空列表距七代扣ew . List 丁t 树gcl 息ar 读用户资料OE 弓tr 二日e lect frQmU 感官rlnto 。serQue 珊 Op 色n DBs 七r . DBCnn . ado ,仑nstatic 。adLock 启eddon 工y 口SerQ 二el 、r . Me 甘eFlr 弓t 逐个读取用户记录Fori = 1 TQ 口se 了以理了y . R 亡cordCo 七nt se 王ect CaoeU 白e 式加e 即Fields User 乃甲e ) 饰lue Ca 弓eo 日七r , Cdse 飞月tr 二口d 弓户2 系统管理员”普通用户, 75 , l i 三u 白l 日。: : * L :一”高级用户,Ca 只白巴l 弓e , t 二二11 类型错误11 Er 、jg 户le t setb 匕工t 爪二Me . b 叨加仑tY ,孔i 引Tte 厂s Add ( ) I 乞T m Text 二口ser 伽e 口Fi 色lds ( U 昌e 丁下r 。) , Vd 上:e L 七It 爪5 议blt 白”$ ( 1 ) 口gerQueW . Fieldg 叮“us 仑了囚日川丹L 七ltm . s 啦bl 仁emstZ )二弓t 了丁f 口se 工和。卿Fields R 曰伯rk 少value 、奋“ Thon btl 七爪gublt 即s ( 3 二userQueIY . Fields 获伫帕a 厂k Er 心If Va 二习e V 日lue U 凡erQue 即MCv 目寸。x 匕Ne 洲匕1 甘弓erQUe 犷犷C108e 记录该操作AddRec CS End Sub 6添加窗口中其他按钮的代码 最后添加用户管理窗口中其他按钮的实现代码,用于框架之间的切换和退出本窗体。当切换到添加用户框架之前必须先检验用户权限类型。因为本系统中只有系统管理员才能添加新用户。代码如例程3 一8 所示。例程3 一8 添加窗口中其他按钮的实现代码,显示添加新用户框架priv 。七e Sub 自彼认ddne 脚一CI 立ck ( ) 判断用户权限1 f UserN 叫勺不e 0 Th 仑n 冷gB 以 对不起您不是系统管理员,不撰浏建新用户l ExiL Sub End If 几d 由飞e 脚View Fnd SUb 修改密码Priv 己七e Sub 臼叱加odif 丫Cl 主ck 晓)讨。dif 协吐e 讨End gub 取消户r 人v 己仁Sub 自闷C 日月cel 一Click ) Un1Oad He End gub 3.8 用户操作记录界面设计 此界面的主要功能就是查询用户操作记录。 3.8.1设计用户操作记录界面控件布局 在工程中添加一个窗体,命名为Frm_opeRec。接着按表 3 一6 所示的设置为用户操作记录窗体添加控件(已有控件只需设置属性即可 )。表3 一6 用户操作记录窗体及其控件属性的设计 3.8.2 用户操作记录查询界面编辑状态预览 正确按照上述内容设置各个控件的属性后,适当地调整各控件的大小和位置,可得到 3 . 8 . 3 用户操作记录查询界面的实现代码 界面设计完成后,接着编写代码来实现操作记录查询界面的相应功能。1 定义私有函救oetoperate 首先添加一个函数用于得到操作类型字符串实现代码如例程3 一9 所示:例程3 一9 得到操作类型字符串的函数实现代码御到橄行类甲字符半的函数 沁以飞旧,。:。 功能:从用致字阮泳的捅作类型卜得到橄作类型字符串愉入摊作类尽卜,愉由;冷作类甲字符印里二任记访客资料2 二台询访客资朝怡史改带码4 二添加肠川户屯二青愉件l 户谈科6 ,杳后操作吧录P :人vote 和nct 几on Cetr 扣eL - 3L 廿即Va 土OpeTy 匹冷八5 In 七eg . l ,八,应tr 上叩ge 10 已r 亡。se 飞垮竹沐(场R 曰Get ( :丫旧ral - e 二”登记访客资料 C 口月口2 G 尸r 冲。f 叭, ”丹询访客资料”日e 纽沁牛叩er 献e = 电曳密码 C 。,巴雌( ; e 卜乍。rote 二”净加舫ftl 户犷a 肠es 。成伪巴d : e 二”杏石用户资相Cd es 决:印era : e 二”食看作初摊”C 诊够心R 二臼扣能七钾咱ra 七e 二,类甲错误l 匕ld geleC 忆芭邝l . ut Ct 土On 2 . Fo 洲LO d 过程这杜进入操作记录查询界面前同样先显示用户状态,而能进入木界而的用户已经纤过检验因此川声类型一定是系统管理员一进入本窗日默认显下所有操作记录实现代码 78 , 。3 。一。莎三澎;如例程3-10 所示。例程3 一10 Fonl _ Load 过程实现代码3查询操作记录的实现代码CmdQueryok_click()事件接下来添加查询操作记录的实现代码。当用户单击查询操作记录框架frameRecQuery中的【确定】按钮CmdQueryok按钮时,程序将按查询类型检验查询内容填写是否正确,检验通过后将查询结果显示在Listview 列表框LvUSrRec中,并且将本操作记录到用户操作记录数据表UserRecord中。例程3 一11 是该部分的实现代码。804添加窗口中其他按钮的实现代码最后添加操作记录查询窗口中其他按钮的实现代码,包括退出按钮和查询框架的按钮。 3.9 关于界面设计 本界面主要功能是显示软件版本、版权等。 如图3 一19 所示,权衡t : . 飞长件奋, 泛到图3 一19 关于界面设计 3.10 系统主界面设计 各个子界面完成后,接着设计访客管理系统的主界面。主界面包括菜单、工具栏、用户状态显示栏和程序主窗口几部分。此界面主要有以下几个功能: 登记访客资料 访客资料杳询、 连接到用户管理界面。 连接到用户操作记录界面 退出系统 3.10.1设计系统主窗体控件布局 在工程中添加一个窗体命名为Frm_ Main。然后按表3 一7 所示的设置为系统主窗体添加控件(已有控件只需设置属性即可)。表3 一7 系统主窗体及其控件属性的设置 除上述设置外,还要给Listview控件LvResult添加6个列,列首文本分别为:姓名、性别、来访时间、来访理由、记录用户和备注,然后适当调整各个列的列宽。另外,主窗体中的图片枢是为了美观,可以添加喜欢的图片,也可以换成程序图标或者公司的logo。 3.102 系统主界面菜单编辑 设计好控件后,接着编辑系统主界面的菜单。首先选【工具】-【菜单编辑器】命令,或者单击工具栏中的【菜单编辑器】图标,打开“菜单编辑器”对话框。然后按照表3 一8 所示的设置为主界面添加菜单。裹3 一8 主界面菜单设置3.10.3 系统主界面工具栏编辑菜单编辑完成后,接着编辑工具栏。要编辑工具栏,必须先导入需要的图标首先在工具栏中添加一个图片列表框imagelist,命名为toolimage。然后用鼠标右键单单击该控件;在弹出的快捷菜单中选择【属性】命令,打开图像列表的属性页,再选择“图像”选项卡,然后单击【插入图片】按钮,并选择需要插入的图标。导入图标后,接着设置工具栏。用鼠标右键单击工具栏,在弹出的快捷菜单中选择【属性】命令,打开图像列表的属性页。在“通用”选项卡中的“图像列表”下拉框中选择toolimage 。再选择“按钮”选项卡给工具条添加按钮。3.105 系统主界面的实现代码接下来编写代码来实现系统主界面的相应功能。1、form_load过程和Form_Unload过程2、访客登记的实现代码cmdrecord_click()事件首先是访客登记功能的代码。当用户单击访客登记框架FrmRecord中的【确定】按钮CmdRecord 时,程序将检验该框架中各项内容填写是否正确,必填字段是否已经填写,检验通过后将这条记录写入访客登记数据表Guestinfo中,并且将本操作记录到用户操作记录数据表UserRecord 中,以便查询。例程3 一13 是该部分的实现代码。例程3 一13 访客登记功能的实现代码3查询访客资料的实现代码cmdquery_click()事件当用户单击访客资料查询框架framequery中的【确定】按钮CmdQuery时,程序将首先检验用户权限是否满足要求,然后检验该框架中填写查询内容是否正确,检验通过后按照查询要求在访客登记资料数据表guestinfo中查询记录。查询结果显示在查询结果框架的列表框LvResult 中,同时将本操作记录到用户操作记录数据表UserRecord 中以便查询。 例程3 一14 是该部分的实现代码。例程3 . 14 88 4添加菜单响应函数接下来为每个菜单添加响应函数,实现系统主窗体的各项功能,依次是退出、访客登记、访客查询、用户管理、操作记录和关于菜单,操作记录菜单在调用窗体之前先检验用户权限J 例对, 3 一15 是该部分的实现代码。例程3 巧菜单响应的实现代码5 添加工具栏响应函数因为丁具档各按钮都和菜单功能一一对应,所以可以直接调用菜单函数。例程3 一16 是该部分的实现代码。. 89 至此,所有代码都已经添加完毕。简略的小结。3.11 难点与技巧311.1 数据库设计步骤虽然本系统的数据库比较简单,但仍然需要学习如何规划和设计系统结果和数据库。对于开发数据库应用系统而言,大致可分为两部分:数据库分析设计和应用程序分析设计。而数据库的合理设计和建设是数据库应用系统成功的关键。数据库设计是一项涉及多学科的综合性技术,要设计出一个性能良好的数据库应用系统并不是一件简单的工作,但却是实现系统的重要环节。数据库的设计方法包括科学的数据库设计理论和具体的设计原则。目前常用的各种数据库设计方法都属于规范设计法,包括基于E-R模型的数据库设计方法、基于3NF(第二范式)的设计方法、基于抽象语法规范的设计方法等,它们都是在数据库设计的不同阶段上支持实现的具体技术和方法。在规范设计方法中,数据库设计的核心是逻辑数据库设讨和物理数据库设计。3113 ADO 数据访问技术若要在Visual Basic中使用ADO 数据访问技术操作数据库,必须设置对合适的Ado类型库的访问。有两种ADO类型库:一种叫做Adodb。另一种类型库ador。第一种类型功能更多。3.114 sQL 语言的使用技巧1 字符串操作中的单引号处理在SQL 语言中对字符串的操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《剖析竞争对手:策略与优势》课件
- 教研论文写作指导课件:深入教学实践提升研究能力
- 高新企业网上申报讲座图解
- 第16讲未来组织的管理沟通
- 基础会计原理课件
- 急性胰腺炎课件
- 《妊娠期糖尿病患者食谱编制的基本原则和方法》课件
- 化学《分子结构》课件
- 双十一餐饮行业巧思营销
- 自主学习的探索之旅
- 七台河市城区段倭肯河治理工程环境影响报告书
- 中国共产主义青年团团员发展过程纪实簿
- 毕业生就业意向调查表
- 学校食堂病媒生物防治管理制度范本(通用8篇)
- 硕士研究生专业研究方向证明(模板)
- 戥秤使用技术
- 地域的永恒魅力
- 测风工风险告知和安全操作卡
- 《答司马谏议书》课件52张 统编版高中语文必修下册
- 管理评审全套记录
- 风险告知卡(激光切割机)
评论
0/150
提交评论