老乡会信息管理系统.docx
- 文档编号:9343734
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:20
- 大小:3.12MB
老乡会信息管理系统.docx
《老乡会信息管理系统.docx》由会员分享,可在线阅读,更多相关《老乡会信息管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
老乡会信息管理系统
老乡会会员信息管理系统
2008届经济管理系
专业
学号
学生姓名
指导教师
完成日期2011年7月2日
1.系统分析
1.1需求分析
1.1.1 系统实现的目标
随着交通条件的不断改善,人们可以走向全国各地各地。
面对庞大的信息量,需要相应的管理系统来提高同乡间管理工作的效率,做到信息的规范管理、科学统计和快速查询,以减少管理方面的工作量。
本系统便于大家查询基本资料、联系方式、各省市老乡信息共享,让老乡资源发挥更大作用,产生社会效益和经济效益。
1.1.2 功能需求分析
本系统实现了同乡好友的查询、添加、删除、维护与管理以及用户管理等功能,方便老乡会信息的正确性,完整性。
系统中的信息可分为会员的基本信息和特殊信息(较重要活隐秘信息)两类,系统分为三个模块:
管理员、会员和游客,各个功能模块如下:
(1)管理员模块:
对所有信息的查询、修改。
查看系统公告
打印报表
修改自身及其他用户密码
(2)会员模块:
对会员基本信息和特殊信息的查询
会员信息的打印
修改自身密码
(3)游客模块:
对会员基本信息的查询
系统公告的查询
会员基本信息打印
1.2开发工具
本系统程序基于powerbuilder而9.0开发,使用ODBC数据库。
开发平台:
WinXP+powerbuilder9.0
2.系统设计
2.1系统业务流程
图1系统业务流程图
2.2系统功能结构
根据老乡会信息管理系统的实际需求,将老乡会信息管理系统划分为游客、会员、管理员三个角色;功能包括信息管理、信息查询、信息导出、用户管理及系统公告管理等多个部分,各个部分的具体功能的系统功能结构图如图2所示。
图2 系统功能结构图
2.3数据库设计
本系统使用的数据库管理系统为SQLServer2005。
数据库中的表如下:
表1 user
字段名称
数据类型
长度
允许空
主键
用户名
char
10
NotNull
√
密码
char
10
NotNull
权限
char
10
NotNull
表2 基本信息
字段名称
数据类型
长度
允许空
主键
编号
char
10
NotNull
√
姓名
char
10
NotNull
性别
char
10
YesNull
籍贯
char
40
YesNull
婚否
char
10
YesNull
QQ号
char
20
YesNull
表3 特殊信息
字段名称
数据类型
长度
允许空
主键
编号
char
10
NotNull
√
工作单位
char
20
YesNull
所在部门
char
20
YesNull
担任职务
char
20
YesNull
移动电话
char
20
YesNull
家庭住址
Char
20
YesNull
3.系统实现
3.1欢迎界面
用户点击进入
图3 欢迎界面
3.2登录界面
登录可分为游客登录和用户登录。
若为游客则可点击直接登录,用户登录时输入用户名,密码,根据自己的不同权限应用不同菜单功能,如果用户输入的内容和数据表中的内容相符,则通过验证,登录成功并转向相应的操作页面;否则登录失败。
如图4所示。
图4 登录界面
3.3主界面
图5 主界面
3.4信息管理部分
(1)基本信息的界面
图6 基本信息管理界面
(2)特殊信息的界面
图7 特殊信息管理界面
3.5信息查询部分
(1)基本信息
图8 基本信息查询界面
(2)特殊信息
图9 特殊信息查询界面
3.6信息导出部分
图9 特殊信息打印界面
基本信息打印与特殊信息的类似
3.7密码修改界面
图10 密码修改界面
3.8用户管理界面
图11 用户管理界面
3.9系统公告界面
图12 系统公告界面
4.算法核心代码
(1)连接数据库代码:
//ProfileStudb
stringstrkeyboot,strcurrdirectory,keyvalue
strcurrdirectory=getcurrentdirectory()+"\data"
strkeyboot="HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DATABASE"
RegistryGet(strkeyboot,"DataBaseFile",regstring!
keyvalue)
ifkeyvalue<>"database"then
RegistrySet(strkeyboot,"DataBaseFile",regstring!
strcurrdirectory+"\database.db")
RegistrySet(strkeyboot,"DataBaseName",regstring!
"database")
RegistrySet(strkeyboot,"Driver",regstring!
"C:
\ProgramFiles\Sybase\SQLAnywhere8\win32\dbodbc8.dll")
RegistrySet(strkeyboot,"EngineName",regstring!
"database")
RegistrySet(strkeyboot,"PWD",regstring!
"dba")
RegistrySet(strkeyboot,"Start",regstring!
"C:
\ProgramFiles\Sybase\SQLAnywhere8\win32\dbeng8.exe-d-c8m")
RegistrySet(strkeyboot,"UID",regstring!
"sql")
endif
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=database;UID=dba;PWD=sql'"
connect;
ifsqlca.sqlcode<>0then
messagebox("提示","连接失败,具体原因请与系统管理员联系!
",StopSign!
)
endif
open(w_welcome)
(2)登录代码:
stringusername,password
stringuname,pword
username=trim(sle_username.text)
password=trim(sle_password.text)
SELECT"user"."用户名",
"user"."密码",
"user"."身份"
INTO:
uname,
:
pword,
:
sf
FROM"user"
WHERE("user"."用户名"=:
username)AND
("user"."密码"=:
password);
//ifuname<>usernamethenmessagbox("","fail")
ifsqlca.sqlcode=100then
messagebox("提示","用户名或密码错误,请重新输入")
else
open(w_main)
close(parent)
endif
(3)主窗体代码:
choosecasesf
case"管理员"
case"会员"
m_main.m_信息管理.enabled=false
m_main.m_用户管理.enabled=false
case"游客"
m_main.m_信息管理.enabled=false
m_main.m_信息查询.m_特殊信息查询.enabled=false
m_main.m_信息导出.enabled=false
m_main.m_用户管理.enabled=false
m_main.m_密码修改.enabled=false
endchoose
(4)窗口连接数据代码:
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_retrieve.settransobject(sqlca)
dw_retrieve.retrieve()
(5)添加代码:
dw_insert.insertrow
(1)
dw_insert.scrolltorow
(1)
(6)删除代码:
longcurrow
currow=dw_insert.getrow()
dw_insert.deleterow(currow)
dw_insert.update()
(7)修改代码:
stringmima,usename
//数据库连接参数
//Profilejn
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=老乡会'"
//连接数据库
connect;
//检索用户名和密码记录
SELECT"user"."用户名",
"user"."密码"
INTO:
usename,
:
mima
FROM"user"
WHERE"user"."用户名"=:
sle_1.text;
//判断用户输入的用户名是否正确
ifsle_1.text=""orsle_2.text=""orsle_3.text=""orsle_4.text=""orsle_3.text<>sle_4.textthen
messagebox("错误!
","用户名或密码不能为空,并且新密码不能两次输入相同!
",exclamation!
ok!
2)
else
ifusename=sle_1.textandmima=sle_2.textthen
//修改用户的密码
UPDATE"user"
SET"密码"=:
sle_4.text
WHERE"user"."用户名"=:
sle_1.text;
messagebox("密码修改成功!
","请记住新密码,下次登录时请使用新密码!
",Information!
ok!
2)
else
messagebox("错误!
","用户名或密码错误,请重新输入!
",exclamation!
ok!
2)
endif
endif
(8)报表代码:
dw_employee.SetRowFocusIndicator(Hand!
)
//设置事物对象
dw_employee.SetTransObject(SQLCA)
//获取数据
dw_employee.Retrieve()
//隐藏水平轨迹条
htb_zoom.visible=true
st_zoom.visible=true
st_1.visible=true
st_2.visible=true
(9)打印预览报表代码:
ifcb_preview.text="打印预览"then
//执行打印一览功能
dw_employee.object.datawindow.print.preview="yes"
//显示标示
dw_employee.object.datawindow.print.preview.rulers="yes"
cb_preview.text="取消预览"
else
cb_preview.text="打印预览"
dw_employee.object.datawindow.print.preview="no"
endif
5.结论
经过一周的时间,在同学和老师的帮助下基本完成本次课程的设计,基本达到了工资管理系统的要求。
通过这次课程设计,使我受到一次转业知识、专业技能分析和解决问题能力的全面系统锻炼,是我在管理信息系统知识的使用方面,在PB软件开发的基本思想、方法及在常用编程设计思路技巧的掌握方面都能向前迈进一大步,。
管理信息系统是一个综合用户和机器的系统,利用计算机提供的信息来支持运行、管理、分析和决策功能。
在使用powerbuild9.0过程中,要注意数据库的建立要严谨,继承的关系要明确。
建立系统之前要明确目的和各模块的功能,了解用户需求,调理必须清晰明了,结构紧凑,从基础出发,循序渐进,只有有了明确的用户需求和功能需求才能使系统实现更加方便,避免不必要的修改。
6.参考文献
(1)《Powerbuilder9.0全方位教程》
(2)《pb技高一筹》
(3)《Powerbuilder实用100例》
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 老乡会 信息管理 系统