的数据。
DataGrid控件是ActiveX控件,因此默认的工具箱中并没有这个控件按钮,需要时也要添加。在控件对话框中选择"MicrosoftDataGridControl6.0(OLEDB)"单击"确定"按钮,此时在工具箱中出现DataGrid按钮。
MSChart控件以图形方式显示数据的图表。支持2维和3维显示,支持条形图、线形图、饼图以及组合形式的图表,它可以与数组、ADO数据控件关联形成数据图表。
MSChart控件不是VisualBasic内部控件,需要在"部件"对话框中选择"MicrosoftChartControl6.0"。单击"确定"按钮,将其加入到工具箱。这时,就可以在窗体中添加并使用MSChart控件了。
5医疗纠纷信息检索系统的详细设计
5.1数据库结构设计
库结构设计之前的数据分析的目的在于研究本系统究竟要处理哪些数据,这些数据是怎样组成的。下一步是根据数据的组成情况合理安排库结构。
根据需求分析,将数据库的结构设计为一库四表,这样可以减少数据的冗余程度,不必要的重复将全部消除,提高了查询的效率。图4为数据库的结构。
图4数据库结构
根据系统需求分析,数据库采用MicrosoftSQLServer2000,它完全可适合工作需求,并且它所支持的数据类型十分丰富,它是一种非过程化的程序语言,SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是关系型数据库管理系统的一部分,由它决定对指定数据库存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。也就是说,没有必要写出将如何做某件事情,只需写出要做什么,它就会完成需要的操作。SQL可用于所有用户的DB活动模型,SQL语言命令少且易于掌握。还有就是所有主要的关系数据库管理系统都支持SQL语言,所有用SQL编写的程序是可移植的。各数据表结构设计:
表1用户信息表--input表
字段名称
数据类型
字段大小
作用
必填字段
索引
是否主键
Username
Nvarchar
8
用户名
是
无
是
Password
Nvarchar
18
密码
是
无
否
Usertype
int
4
用户类型
是
无
否
表2患者信息表-patient表
字段名称
数据类型
字段大小
作用
必填字段
索引
是否主键
PID
Nvarchar
10
住院号
是
无
是
Pname
Nvarchar
10
患者姓名
是
无
否
Ptel
Nvarchar
11
电话
否
无
否
PSay
Nvarchar
50
投诉原因
是
无
否
pDate
Nvarchar
8
投诉日期
否
无
否
pResult
Nvarchar
10
投诉结果
是
无
否
pClass
Nvarchar
15
投诉等级
是
无
否
pPay
int
4
赔偿金
否
无
否
hDoctorid
Nvarchar
10
主治医生
是
无
否
表3医生信息表-doctor表
字段名称
数据类型
字段大小
作用
必填字段
索引
是否主键
doctorID
Nvarchar
10
医生代码
是
无
是
doctorName
Nvarchar
10
姓名
是
无
否
Doctorsex
char
2
性别
是
无
否
Doctortel
Nvarchar
13
电话
否
无
否
officeID
Nvarchar
6
所在科室代码
是
无
否
表4科室信息表-office表
字段名称
数据类型
字段大小
作用
必填字段
索引
是否主键
ID
Nvarchar
6
科室代码
是
无
是
officeName
Nvarchar
16
科室名称
是
无
否
officeTel
Nvarchar
11
科室电话
否
无
否
从实际的医疗纠纷数据的管理来说,患者的住院号是唯一的,就像是身份证号码一样,每个患者都有与之唯一对应的住院号。医生在医院也有一个与之对应的代码,虽然存在重名的现象,但是医生的代码是不会重的,这样就很好的解决了重名的问题。在患者信息表、医生信息表和科室信息表存在对应关系,定义了两组对应关系:患者信息表中的hDoctorid字段与医生信息表中的doctorId字段为多对一的关系;医生信息表中的officeId字段与科室信息表中的ID字段为多对一的关系。
图5为各表之间的关系。
图5各表之间关系图
5.2用户登录模块设计
5.2.1窗体模块的功能
本系统的使用者分为两类:管理员和用户。所以在设计登录窗体时,要比普通的登录窗体多增加选项卡控件,用来区分登录者的身份。选项卡数为2,第一个选项卡设置为用户登录区,在其选项区中使用ComboBox控件,用下拉式列表显示用户信息表中全部用户的用户名,这样可以方便使用者登录。第二个选项卡设置为管理员登录区,由于关系到系统的安全性,所以管理员的用户名必须由登录人员自己添写。同时为了避免非法用户的干扰,对于用户登录窗口,如果在用户连续输入错3次密码,则系统将会自动退出。
5.2.2登录功能的实现
通过用户在登录选项卡中添加的用户名和密码与用户信息表中的信息相比较,如果用户名的密码全部正确,则可以进入系统,用户进入用户界面,管理员则进入管理员界面。要是用户名和密码与用户信息表中的信息不完全符合,则用户无权进入系统进行操作。
用户名与密码与用户信息表中信息比较时用到了ADO操作数据库。
ADO是AxtiveXDataObject的缩写,它是Microsoft数据库应用程序开发的新接口,是Microsoft新的数据访问技术,是建立在OLEDB之上的高层数据库访问技术。ADO被设计用来同新的数据访问层OLEDBProvider一起协同工作,以提供通用数据访问(UniversalDataAccess)。OLEDB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。
ADO最基本的操作流程:初始化COM库,引入ADO库定义文件;用Connection对象连接数据库;利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;使用完毕后关闭连接释放对象。
5.2.3窗体界面的设计
在工程中添加窗体,命名为frmlogin,图6为窗体的界面。
图6登录窗体的设计示意图
表5的内容为该窗体上的控件及其属性。
表5登录窗体的主要控件的属性设置以及功能表
控件
名称
属性
功能
Form
frmlogin
BorderStyle属性设为1,Caption属性为"登录"
用来显示登录窗体
Label
Label1
Caption属性设置为"医疗纠纷检索系统"
Label
Label2
Caption属性设置为"用户名:"
Label
Label3
Caption属性设置为"密码:"
Label
Label4
Caption属性设置为"管理员:"
Label
Label5
Caption属性设置为"密码:"
SSTab
SSTab1
Caption属性设置为"用户登录"
区分用户和管理员登录
表5登录窗体的主要控件的属性设置以及功能表(续表)
Textbox
Text1
Text属性设为空,将PasswordChar属性设为"*"
用来输入用户密码
Textbox
Text3
Text属性设为空,将PasswordChar属性设为"*"
用来输入管理员密码
ComboBox
Combo1
Text设为空
用来输入用户名
CommandButton
Command1
Caption属性设为"登录"
进入用户界面
CommandButton
Command2
Caption属性设为"取消"
CommandButton
Command3
Caption属性设为"登录"
进入管理员界面
CommandButton
Command4
Caption属性设为"取消"
再对窗体和控件的大小,位置,字体还有背景都一一进行设置即可。
5.2.4窗体的工作流程/方式
在用户信息表Input表中的usertype是用来确定登录用户身份的,usertype值为0表示登录者身份为用户,usertype值为1时表示登录者的身份为管理员。
在验证用户
上一篇:
vb办公用品管理程序(论文和程序)
下一篇:
ASP小区停车管理系统(Access)(含录像)