老乡会信息管理系统Word格式文档下载.docx
《老乡会信息管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《老乡会信息管理系统Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
对会员基本信息的查询
系统公告的查询
会员基本信息打印
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
√
密码
权限
表2 基本信息
编号
姓名
性别
YesNull
籍贯
40
婚否
QQ号
20
表3 特殊信息
工作单位
所在部门
担任职务
YesNull
移动电话
家庭住址
Char
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,"
strcurrdirectory+"
\database.db"
)
DataBaseName"
"
Driver"
C:
\ProgramFiles\Sybase\SQLAnywhere8\win32\dbodbc8.dll"
EngineName"
PWD"
dba"
Start"
\ProgramFiles\Sybase\SQLAnywhere8\win32\dbeng8.exe-d-c8m"
UID"
sql"
endif
SQLCA.DBMS="
ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="
Connectstring='
DSN=database;
UID=dba;
PWD=sql'
connect;
ifsqlca.sqlcode<
0then
messagebox("
提示"
连接失败,具体原因请与系统管理员联系!
StopSign!
open(w_welcome)
(2)登录代码:
stringusername,password
stringuname,pword
username=trim(sle_username.text)
password=trim(sle_password.text)
SELECT"
user"
."
用户名"
"
密码"
"
身份"
INTO:
uname,
:
pword,
:
sf
FROM"
WHERE("
=:
username)AND
("
password);
//ifuname<
usernamethenmessagbox("
fail"
ifsqlca.sqlcode=100then
用户名或密码错误,请重新输入"
else
open(w_main)
close(parent)
(3)主窗体代码:
choosecasesf
case"
管理员"
会员"
m_main.m_信息管理.enabled=false
m_main.m_用户管理.enabled=false
游客"
m_main.m_信息管理.enabled=false
m_main.m_信息查询.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
DSN=老乡会'
//连接数据库
//检索用户名和密码记录
SELECT"
INTO:
usename,
mima
FROM"
WHERE"
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)
ifusename=sle_1.textandmima=sle_2.textthen
//修改用户的密码
UPDATE"
SET"
sle_4.text
密码修改成功!
请记住新密码,下次登录时请使用新密码!
Information!
messagebox("
用户名或密码错误,请重新输入!
(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="
cb_preview.text="
取消预览"
dw_employee.object.datawindow.print.preview="
no"
5.结论
经过一周的时间,在同学和老师的帮助下基本完成本次课程的设计,基本达到了工资管理系统的要求。
通过这次课程设计,使我受到一次转业知识、专业技能分析和解决问题能力的全面系统锻炼,是我在管理信息系统知识的使用方面,在PB软件开发的基本思想、方法及在常用编程设计思路技巧的掌握方面都能向前迈进一大步,。
管理信息系统是一个综合用户和机器的系统,利用计算机提供的信息来支持运行、管理、分析和决策功能。
在使用powerbuild9.0过程中,要注意数据库的建立要严谨,继承的关系要明确。
建立系统之前要明确目的和各模块的功能,了解用户需求,调理必须清晰明了,结构紧凑,从基础出发,循序渐进,只有有了明确的用户需求和功能需求才能使系统实现更加方便,避免不必要的修改。
6.参考文献
(1)《Powerbuilder9.0全方位教程》
(2)《pb技高一筹》
(3)《Powerbuilder实用100例》