论文部分内容阅读
[摘要]随着社会信息化的发展,医院基本实现计算机化,用户在医院信息系统中,若出现人为操作失误等情况下,计算机管理人员直接操作后台表内数据比较危险,通过开发这个医院日常维护子系统,使医院后台数据管理工作规范化,从而达到提高数据安全性的目的。
[关键词]数据库 维护
中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)0420045-01
运用数据库应用开发工具PowerBuilder6.5和后台数据库Oracle,实现系统界面的设计,代码编写实现系统功能。打开该系统时,必须输入正确的用户名与密码才可以登陆。登陆完成,进入主界面。从系统主界面可以调用任意功能模块。
随着社会信息化的发展,医院基本实现计算机化,信息技术在管理上越来越深入而广泛的应用,管理信息技术实施在技术上也已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展要高效,就必须加强企业管理。而作为医院计算机室说,日常维护管理是一门值得我深入研究的领域。
用户在医院信息系统中,若出现人为操作失误等情况下,计算机管理人员直接操作后台表内数据,使数据的安全性存在巨大隐患。通过PowerBuilder环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发了一个日常维护系统,使医院后台数据管理工作规范化,从而达到提高数据安全性的目的;通过分析现有系统的一些不足,创建一套行之有效的日常维护方案,减轻了维护人员的日常工作压力,提高了日常维护速度,方便了科室工作人员的工作,从而间接提高医院的工作效率。
本系统开发设计思想:尽量采用现有软硬件环境,提高系统开发水平和应用效果的目的;系统应满足日常管理的需要,并达到操作过程中的直观,方便,实用,安全等要求;系统采用模块化程序设计方法,这样既便于系统功能的各种组合,又便于技术维护人员补充,维护;系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除,修改等操作。
数据库(Database),是用于查询的大量数据的存储区域。数据库设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
根据关系数据库理论,在设计关系(表)时应尽量满足第三范式乃至更高的范式,本系统在设计的时候,也尽力去消除非主属性对码的传递依赖,减少数据冗余。
登录界面设计
确定:
int start_pos,end_pos,dbparm_len,i
string dbparm,scan_item
char cur_char
SetPointer(HourGlass!)
if trim(sle_username.text) = "" then
MessageBox("登录", "用户名为空。~n~n请输入用户名后点取确认按钮。")
SetFocus(sle_username)
return
end if
if trim(sle_password.text) = "" then
MessageBox("登录", "口令为空。~n~n请输入口令后点取确认按钮。")
SetFocus(sle_password)
return
end if
choose case sqlca.dbms
case "sybase","mdidb2","oracle","or7","o71","o72","o73","xdb"
sqlca.logid = trim(sle_username.text)
sqlca.logpass = trim(sle_password.text)
case "gupta","hpallbase","informix"
sqlca.userid = trim(sle_username.text)
sqlca.dbpass = trim(sle_password.text)
case "odbc"
sqlca.userid = trim(sle_username.text)
sqlca.dbpass = trim(sle_password.text)
// also set the dbparm by replacing the userid and password
dbparm = sqlca.dbparm
for i = 1 to 2 // replace both the user id and the password
if i = 1 then
scan_item = 'uid='
else
scan_item = 'pwd='
end if
start_pos = pos(lower(dbparm),scan_item) // find the scan item
if start_pos > 0 then
start_pos += len(scan_item)
end_pos = start_pos
do
end_pos++
cur_char = mid(dbparm,end_pos,1)
loop untilcur_char = ';' or cur_char = "'" or end_pos = len(dbparm)
ifcur_char <> ';' and cur_char <> "'"then
end_pos = len(dbparm) + 1
end if
if i = 1 then
dbparm=replace(dbparm,start_pos,end_pos-start_pos,sqlca.userid)
else
Dbparm=replace(dbparm,start_pos,end_pos-start_pos,sqlca.dbpass)
end if
end if
next
sqlca.dbparm = dbparm
end choose
setpointer ( hourglass! )
// Have already connected using window w_set_sqlca.
if sqlca.sqlcode = 0 then goto ok
CONNECT using SQLCA ;
setpointer ( arrow! )
IF SQLCA.SQLCode <> 0 then
IF ( sqlca.dbms = "oracle" or sqlca.dbms = "or7" or sqlca.dbms = "o71"&
or sqlca.dbms = "o72" or sqlca.dbms = "o73" ) and &
SQLCA.SQLDBCode = 1017 then
messagebox("用户登录","口令错误")
else
f_db_error(SQLCA, parent.title)
end if
if ii_attempts < 2 then
setpointer ( arrow! )
ii_attempts = ii_attempts + 1
setfocus(sle_username)
return
else
messagebox("用户登录","三次登录失败,退出登录")
closewithreturn(parent,"")
return
end if
else
ib_connected = true
end if
ok:
closewithreturn(parent,trim(sle_username.text))
参考文献:
[1]Christopher Allen.《Oracle PL/SQL 程序设计基础教程》.机械工业出版社,2001年5月第1版
[2]王晟,《PowerBuilder数据库开发经典案例解析》,清华大学出版社,2005.4,(1)
[3]樊金生、傅世林等,《PowerBuilder 6.5实用教程》,科学出版社,2000,5,(1).
[4]陈永强、李茜、詹红霞等,《PowerBuilder 数据库开发经典实例精解》.机械工业出版社,2007.2,(1).
[5]赵松涛,《Oracle 9i中文版入门与提高》,人民邮电出版社,2002.7,(1).
[6]贾素玲、王强,《Oracle数据库基础》,清华大学出版社,2007.5.(1).
[关键词]数据库 维护
中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)0420045-01
运用数据库应用开发工具PowerBuilder6.5和后台数据库Oracle,实现系统界面的设计,代码编写实现系统功能。打开该系统时,必须输入正确的用户名与密码才可以登陆。登陆完成,进入主界面。从系统主界面可以调用任意功能模块。
随着社会信息化的发展,医院基本实现计算机化,信息技术在管理上越来越深入而广泛的应用,管理信息技术实施在技术上也已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展要高效,就必须加强企业管理。而作为医院计算机室说,日常维护管理是一门值得我深入研究的领域。
用户在医院信息系统中,若出现人为操作失误等情况下,计算机管理人员直接操作后台表内数据,使数据的安全性存在巨大隐患。通过PowerBuilder环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发了一个日常维护系统,使医院后台数据管理工作规范化,从而达到提高数据安全性的目的;通过分析现有系统的一些不足,创建一套行之有效的日常维护方案,减轻了维护人员的日常工作压力,提高了日常维护速度,方便了科室工作人员的工作,从而间接提高医院的工作效率。
本系统开发设计思想:尽量采用现有软硬件环境,提高系统开发水平和应用效果的目的;系统应满足日常管理的需要,并达到操作过程中的直观,方便,实用,安全等要求;系统采用模块化程序设计方法,这样既便于系统功能的各种组合,又便于技术维护人员补充,维护;系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除,修改等操作。
数据库(Database),是用于查询的大量数据的存储区域。数据库设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
根据关系数据库理论,在设计关系(表)时应尽量满足第三范式乃至更高的范式,本系统在设计的时候,也尽力去消除非主属性对码的传递依赖,减少数据冗余。
登录界面设计
确定:
int start_pos,end_pos,dbparm_len,i
string dbparm,scan_item
char cur_char
SetPointer(HourGlass!)
if trim(sle_username.text) = "" then
MessageBox("登录", "用户名为空。~n~n请输入用户名后点取确认按钮。")
SetFocus(sle_username)
return
end if
if trim(sle_password.text) = "" then
MessageBox("登录", "口令为空。~n~n请输入口令后点取确认按钮。")
SetFocus(sle_password)
return
end if
choose case sqlca.dbms
case "sybase","mdidb2","oracle","or7","o71","o72","o73","xdb"
sqlca.logid = trim(sle_username.text)
sqlca.logpass = trim(sle_password.text)
case "gupta","hpallbase","informix"
sqlca.userid = trim(sle_username.text)
sqlca.dbpass = trim(sle_password.text)
case "odbc"
sqlca.userid = trim(sle_username.text)
sqlca.dbpass = trim(sle_password.text)
// also set the dbparm by replacing the userid and password
dbparm = sqlca.dbparm
for i = 1 to 2 // replace both the user id and the password
if i = 1 then
scan_item = 'uid='
else
scan_item = 'pwd='
end if
start_pos = pos(lower(dbparm),scan_item) // find the scan item
if start_pos > 0 then
start_pos += len(scan_item)
end_pos = start_pos
do
end_pos++
cur_char = mid(dbparm,end_pos,1)
loop untilcur_char = ';' or cur_char = "'" or end_pos = len(dbparm)
ifcur_char <> ';' and cur_char <> "'"then
end_pos = len(dbparm) + 1
end if
if i = 1 then
dbparm=replace(dbparm,start_pos,end_pos-start_pos,sqlca.userid)
else
Dbparm=replace(dbparm,start_pos,end_pos-start_pos,sqlca.dbpass)
end if
end if
next
sqlca.dbparm = dbparm
end choose
setpointer ( hourglass! )
// Have already connected using window w_set_sqlca.
if sqlca.sqlcode = 0 then goto ok
CONNECT using SQLCA ;
setpointer ( arrow! )
IF SQLCA.SQLCode <> 0 then
IF ( sqlca.dbms = "oracle" or sqlca.dbms = "or7" or sqlca.dbms = "o71"&
or sqlca.dbms = "o72" or sqlca.dbms = "o73" ) and &
SQLCA.SQLDBCode = 1017 then
messagebox("用户登录","口令错误")
else
f_db_error(SQLCA, parent.title)
end if
if ii_attempts < 2 then
setpointer ( arrow! )
ii_attempts = ii_attempts + 1
setfocus(sle_username)
return
else
messagebox("用户登录","三次登录失败,退出登录")
closewithreturn(parent,"")
return
end if
else
ib_connected = true
end if
ok:
closewithreturn(parent,trim(sle_username.text))
参考文献:
[1]Christopher Allen.《Oracle PL/SQL 程序设计基础教程》.机械工业出版社,2001年5月第1版
[2]王晟,《PowerBuilder数据库开发经典案例解析》,清华大学出版社,2005.4,(1)
[3]樊金生、傅世林等,《PowerBuilder 6.5实用教程》,科学出版社,2000,5,(1).
[4]陈永强、李茜、詹红霞等,《PowerBuilder 数据库开发经典实例精解》.机械工业出版社,2007.2,(1).
[5]赵松涛,《Oracle 9i中文版入门与提高》,人民邮电出版社,2002.7,(1).
[6]贾素玲、王强,《Oracle数据库基础》,清华大学出版社,2007.5.(1).