版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数据库系统课程设计说明书题目 个人名片管理系统 班 级 计 044 学 号 2004041168 姓 名 董 玲 玲 指导老师 原 庆 能 完成日期 2007-6-15 个人名片管理系统 引言 随着计算机的普及,越来越多的管理系统应运而生。同时,随着人们交往范围的不断扩大,我们需要同更多的人保持交流和联系,尤其是已经参加了工作的公司职员,除了熟悉的朋友,还有很多的客户,我们都要时不时的同他们保持联系,这时个人名片管理系统就可以派上用场了。个人名片管理系统是用于辅助个人完成其名片有序管理的计算机软件系统,系统实施的目的旨在帮助用户完成其私人名片管理的数字化,以提供较手工方式下更高的效率和更低的
2、出错率。作为整个办公自动化系统的一部分,电子名片管理系统要实现的目标是:将用户目前在处理名片管理工作时所采用的手工处理方式进行计算机化,从而与整个办公自动化系统的数字化趋势相协调,以求为用户提供更为专业和高效的个人管理服务。任务概述 1、待开发软件的一般描述本软件旨在为商业人士及企事业单位中负责公共关系等社会交往频繁的人士提供一个功能齐全、使用方便的个人社会关系数据库管理系统,以替代传统的手工通讯录。从而提供一个高效快捷的工作环境。使用本软件的用户群非常广泛,它非常适用于具有如下特点的人员:(1)、工作中与外界联系非常频繁,需要和很大数目的人打交道。(2)、与外界的联系成为开展工作的关键因素,
3、相关信息丢失或损坏可能带来重大损失。针对如上用户特点,本软件可以迅速、准确、方便地提供个人社会关系数据库管理系统的管理功能,同时力求为用户提供方便、高效、实用的功能。用户只需掌握电脑录入功能即可。2、开发环境及开发工具本软件的开发环境是在WindowsXp操作系统环境中开发,应用的是当前比较流行的PowerBuilder8.0和SQL。PowerBuilder8.0是一款非常适合开发管理系统的工具,尤其是它强大的数据窗口功能省去了开发者很多的工作,可以让开发者有更多的精力致力于软件本身的设计,开发出更加简便实用的软件。3、待开发软件的功能 本软件具有如下主要功能: 身份验证功能 添加、删除、修
4、改、查询功能 用户管理功能 功能描述图如下: 个人名片管理系统登录界面管理主界面名片输入名片查询系统维护其他名片录入名片修改名片查询用户管理版权信息关闭名片表用户表三、功能需求1、数据流图 第0层数据流图(DFD):个人名片管理系统名片存储系统终端管理系统名片存储系统终端管理系统名片处理信息 名片更改信息终端输入信息 终端输出信息第1层数据流图:显示查询结果名片查询名片存储系统 查找要求 查询结果 查询结果 名 查 查 片 询 询 资 请 结 料名片录入用户确定用户请求身份验证 求 果 录入请求 操作请求 输入密码修 密码信息改 请用户信息 库求名片修 改更新名片存储系统2、输入输出需求 个人
5、名片管理系统在进行名片管理时,用户利用终端机输入登陆密码,个人名片管理系统通过终端输入系统获得该密码后,应该能够通过该密码,借助个人名片管理系统获得正确的用户登陆信息,确定登陆用户为系统管理员或普通用户,并最终通过终端管理系统将这些信息显示在用户终端上。如果个人名片管理系统不能根据给出的密码得到与之对应的用户信息,系统则不允许该用户登陆个人名片管理系统。本系统可以有不同的用户使用,这些用户在实际的工作中可能具有不同的权限,所以我们的软件也应该根据他们的工作角色分配给他们不同的功能模块。在个人名片管理系统中,我们提供多用户管理功能。假设系统管理员可以使用系统中的所有功能模块,并且可以管理其它用户
6、;其它用户都作为普通用户,只能按照系统管理员分配的权限使用相应的功能模块。为了实现多用户管理,我们着手实现了以下几个方面的功能:(1)、 主窗口打开时,同时打开登录窗口,让用户输入用户标识和登录口令。(2)、 如果用户正确登录,则读取用户的权限,根据权限进行界面的初始化。(3)、 我们通过菜单项是否可用来实现用户的权限。3、性能需求(1)、数据精确度进行操作请求时,如:名片录入、名片删除、名片修改、名片查询时,应保证输入数据与数据库数据的相匹配性。而在满足用户请求时,系统应保证所响应数据的正确性和全面性。(2)、时间特性为满足用户高效要求,数据的响应时间、更新处理时间、数据转换与传输时间、运行
7、时间都应在可接受范围之内。四、后台数据库的设计 1、 该实例实现的是简单的名片管理功能,因此系统后台数据库比较简单,只有名片管理表和用户管理表2个数据表。 表 mpgl(名片管理表)序号字段名类型及长度是否可空含义1bhChar(10)Not编号 2xmChar(10)Yes 姓名 3gsChar(40)Yes公司 4dhChar(40)Yes 5lxdzChar(40)Yes 6yzbmChar(40)Yes邮政编码 7emailChar(40)Yes电子邮件 8ywfwChar(200)Yes业务范围 9bzChar(400)Yes备注 10zwChar(20)Yes职务表名:mpgl,
8、主键:bh 表 users (用户管理表)序号字段名类型及长度是否可空含义1useridChar(10)Not用户标志2passwordChar(10)Not口令3usernameChar(20)Yes用户名称4privelegeChar(200)Yes权限表名:users, 主键:userid2、数据字典名称终端输入信息别名无用途操作处理描述终端输入信息=用户标志+口令 名称操作请求别名无用途更新电子名片管理系统描述操作请求=录入|修改|删除|查询名称名片信息别名名片资料用途查找名片、更新名片描述名片信息=编号+姓名+公司+ + +邮政编码+电子邮件+业务范围+备注+职务 名称用户信息别名无
9、用途确认用户身份描述用户信息=用户登陆密码+用户身份 名称用户身份别名身份信息用途确认用户身份、确认用户操作权限描述用户身份=系统管理员|普通用户 名称查询结果别名无用途对用户操作进行响应、查询处理描述查询结果=名片信息3、数据库的数据采集 通过身份验证的并且具有名片录入权限的合法用户,采用键盘和鼠标直接输入的方式将外部数据添加到数据库中。五、本系统具体的实现步骤及过程1、建立数据库及数据表 这部分工作是在Microsoft SQL Server的企业管理器中进行的。这一部分的工作基本上都有一定的步骤可寻,在此就不做详细的介绍。2、创建工作空间及应用程序 在PB中的工作必须是在一个工作空间中展
10、开的,所以在开始所有的工作前,要建立一个工作空间,选择File-New菜单,打开如下界面,点击OK按纽,命名为mpgl.pbw并保存,即完成了工作空间的建立。接下来,按照跟建立工作空间相同的步骤建立名为mpgl的应用程序。Application对象是PB应用程序的起点。通常在该对象的Open事件中打开整个应用程序的主操作窗口,初始化运行环境,建立数据库连接等工作。在应用程序的open和close事件中都要加入相应的代码,以保证系统能够正常启动并运行。Open事件的代码如下:SQLCA.DBMS = MSS Microsoft SQL ServerSQLCA.Database = mpxtSQL
11、CA.ServerName = (local)SQLCA.LogId = saSQLCA.AutoCommit = FalseSQLCA.DBParm = connect; /连接数据库if sqlca.sqlcode = 0 then /正确建立了连接 open(w_main) /打开主程序窗口ElseMessageBox(错误,不能和数据库建立连接.按任意键关闭系统.,StopSign!)halt close; /直接关闭整个应用end if close事件的代码如下:Disconnect; /断开和数据库的连接3、数据窗口的建立 本系统中建立了四个数据窗口,它们分别是跟名片录入、名片修改
12、、名片查询、用户信息有关的dw_mp_input、 dw_mp_modify、dw_mp_query、 dw_mp_users。 下面,主要介绍其中的一个数据窗口dw_mp_input的创建过程。 选择窗口菜单File-New,或者使用快捷键Ctrl + N,或者点击窗口工具条中左侧第一个小图标按钮New,打开New对话框,点击上面的DataWindow显示如图5-1所示的界面。 图 1 新建数据窗口选择其中的Freeform,然后点击窗口底部的命令按钮OK。图1所示的窗口关闭,打开图2所示的对话框。 图 2 选择数据源 在图2所示的窗口中选择Quick Select,然后点击窗口底部的命令按
13、钮Next,打开如图3所示的对话框。 在图3所示的对话框中,选择左侧Tables中的表mpgl,然后点击右侧的命令按钮Add All,然后点击窗口右上角的命令按钮OK,显示如图4所示的对话框。在该对话框中设置数据窗口的显示样式。 图 4 设置显示格式在该对话框中,选择Background Color为Button Face,选择Columns组框中的Border为Lowered。然后点击窗口底部的命令按钮Next,打开如图5所示的对话框。 图 5 总结信息图5-5所示的对话框是总结信息,显示我们在前面的选择。点击窗口底部的命令按钮Finish即可完成数据窗口创建向导的工作,进入到Datawin
14、dow画板中。接下来我们需要进一步修改数据窗口的外观,至此,名片输入数据窗口创建完成。保存该数据窗口,命名为dw_mp_input,并且在保存时为该数据窗口对象输入提示信息。数据窗口dw_mp_modify和dw_mp_query的创建过程同上,并且数据源 也是数据表mpgl,而数据窗口dw_mp_users的数据源与它们不同,它的数据源是数据表users。至此,我们所需要的数据窗口都已经建立完毕。4、创建全局函数gf_getbh使用全局函数,便于程序的重用和逻辑上的封装。在创建数据表时,mpgl表中的字段bh定义为char(10)类型。首先我们定义编码的规则如下:(1) 前6位为2位年、2位
15、月、2位日;(2) 后4位为流水号,取当前最大值加1。根据上面的规则我们创建一个全局函数。函数定义如下: /*-* 函数名称:String gf_getbh(string as_bh)* 函数作用:生成一个编号。* 返 回 值:string类型的,编号。* 调用举例:ls_new = gf_getbh(ls_old)* 其中,ls_old为数据窗口中已经存在的当天的最大编号。*-*/String ls_Part1 /用来保存编码的前6位String ls_Part2 /用来保存编码的后4位String ls_DbSn /数据库中的当天最大流水号string ls_AgrSn /参数中的流水号S
16、tring ls_sn /新生成的编号ls_part1 = Right(String(today(),yyyymmdd),6)ls_AgrSn = Right(as_bh,4)/从数据库中选择当天最大的编号select max(bh) into :ls_Dbsnfrom mpglwhere substring(bh,1,6) = :ls_part1;if sqlca.sqlcode = 0 then /如果正确取出了数据if IsNull(ls_Dbsn) or ls_Dbsn = thenls_Dbsn = 0000elsels_DbSn = Right(ls_DbSn,4)end ifif
17、 IsNull(ls_Agrsn) or ls_Agrsn = then ls_Agrsn = 0000if integer(ls_Dbsn) 0 then gs_userid=ls_userid select username into :gs_username from users where userid=:ls_userid;CloseWithReturn(parent, ok)else ii_count -if ii_count=0 then halt close;sle_userid.text=sle_password.text=sle_userid.SetFocus()end i
18、f保存窗口。至此,窗口w_login中的工作完全完成。6、2主窗口的建立主窗口w_main打开时,应该让用户输入登录信息,如果登录成功则根据用户的权限初始化用户界面。所以,在窗口w_main的Open事件中编写如下程序:this.PostEvent(ue_open)然后,我们为窗口w_main定义一个用户自定义事件ue_open。在ue_open事件中编写如下脚本:string ls_tempOpen(w_login) /打开登陆窗口ls_temp=Message.stringParm /接受登陆窗口的返回信息if ls_tempok then /如果没有登陆成功 halt close; /关
19、闭系统else /登陆成功,根据用户权限初始化界面 /选择用户的权限select privelege into :ls_tempfrom userswhere userid=:gs_userid; if Mid(ls_temp,1,1)=0 then /没有录入权限 m_menu.m_1.m_input.Enabled=False /名片录入菜单不可用end ifif Mid(ls_temp,2,1)=0 then /没有修改权限m_menu.m_1.m_modify.Enabled=False /名片修改菜单不可用end ifif Mid(ls_temp,3,1)=0 then /没有查询权
20、限 m_menu.m_2.m_query.Enabled=False /名片查询菜单不可用end ifif Lower(gs_userid)2004041168 then /如果不是系统管理员 m_menu.m_3.m_users.text=修改口令 /只能修改自己的口令end ifidle(100) /设置触发Application对象idle事件的时限为100秒end if6、3创建名片录入窗口 w_mp_input 新建一个窗口,然后在窗口上放置1个DataWindow控件、6个CommandButton控件,按照下图安排控件的布局并设置各个控件及窗口的属性。 设计完界面后,保存窗口,命
21、名为w_mp_input。然后开始编写脚本。6、4创建名片修改窗口w_mp_modified 创建新窗口,在窗口中放置1个DataWindow控件、6个CommandButton控件,按照下图所示的窗口布局安排控件的位置,然后设置控件及窗口的相关属性。 主要脚本如下:在窗口的Open事件中编写如下脚本:dw_1.SetTransObject(SQLCA)在窗口的CloseQuery事件中编写如下脚本:integer li_flagif dw_1.ModifiedCount() + dw_1.DeletedCount() 0 thenli_flag = MessageBox(提示,数据已经修改,
22、是否保存?,Question!,YesNoCancel!,1)choose case li_flagcase 1 /保存if dw_1.Update() = 1 thencommit;return 0elseif MessageBox(提示,数据错误,不能保存。是否继续关闭?,&Question!,YesNo!,2) = 1 thenreturn 0elserollback;return 1end ifend ifcase 2 /不保存rollback;return 0case 3 /取消return 1end chooseelsereturn 0end if 在命令按钮查找的Clicked事
23、件中编写如下脚本:String ls_rtn /保存查询条件窗口中的返回值String ls_sql /保存数据窗口dw_1对应的SQL语句Open(w_mp_Modify_filter) /打开查询条件窗口ls_rtn = Message.StringParm /保存返回的查询条件if Len(ls_rtn) 0 then /返回了查询条件ls_sql = dw_1.GetSqlSelect() /获取老的SQL语句if Pos(lower(ls_sql),where) 0 thenls_sql = Left(ls_sql,Pos(Lower(ls_sql),where) - 1)end i
24、fls_sql = ls_sql + where + ls_rtndw_1.SetSqlSelect(ls_sql) /启用新的SQL语句dw_1.Retrieve()end if6、5创建查询条件窗口w_mp_modify_filte 针对名片录入的内容,我们设计一个查询条件输入窗口,在该窗口中可以以名片的各个项目做查询条件。窗口界面如下图所示:主要脚本如下: 在查询命令按钮的Clicked事件上编写如下脚本:String ls_data /保存用户输入的数据String ls_ColName /保存列名integer li_index /循环变量String ls_sql = /对应的SQL语句dw_1.AcceptText() /避免dw_1中最后输入的内容被遗漏。For li_index = 1 to integer(dw_1.object.datawindow.column.count)ls_data = dw_1.GetItemString(1,li_index) /获取第li_index列中的数据if Len(ls_data) 0 then /如果输入了内容ls_ColName = dw_1.Describe(# + string(li_index) + .dbname)ls_sql = ls_sql + and + ls_ColNa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年二年级新疆好说课稿
- 2025-2026学年大班蔬菜水果说课稿
- 2025-2026学年中学历史面试说课稿
- 2025-2026学年害羞的说课稿
- 2025-2026学年冰雹安全说课稿
- 2025年福建省武夷山市高考历史真题含答案【基础题】
- 2026下半年综合管理岗招聘笔试全真模拟试卷
- 2025-2026学年《我的自画像》说课稿
- 河南事业单位政务服务中心招聘笔试必刷题
- 2025-2026学年大公鸡说课稿
- 2026广东广州市南沙区社区专职工作人员招聘40人考试备考试题及答案解析
- 2026课件:新生儿乳糖不耐受诊断治疗的中国专家共识
- 2026年高级职业培训师(三级)职业资格鉴定考试题库(新版)
- (2025)中国肩袖损伤修复围手术期eras护理专家共识课件
- 初中八年级历史 中国特色社会主义道路 大单元教学设计
- 2026年平安银行(上海分行)校园招聘笔试参考试题及答案详解
- GB/T 44693.4-2026危险化学品企业工艺平稳性第4部分:开工过程管理规范
- 中药黄芪课件
- 国学礼仪课程课件大纲
- 山东省潍坊市寿光市2026届中考二模英语试题含答案
- 执业医师聘用证明
评论
0/150
提交评论