- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学生成绩管理系统PB课程的设计
学生成绩管理系统程序分析
一 系统分析与设计
1)系统功能分析
系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。学生成绩管理系统需要完成的主要功能如下:
班级信息的输入和存储,包括班级编号、班级名称、所属专业、入学时间和学制等。
对已经输入的班级信息的修改、查询。
学生基本信息的输入和存储、包括学号、姓名、性别、出生日期、班级等。
学生基本信息的修改和查询。
每学期初各班所开设课程的输入,包括课程名、学期、学时等。
各班所开设课程信息的修改和查询。
学期末输入每个学生的考试成绩。
学生成绩的修改。
查询某个学生。
查询并打印某班某学期所有学生的各科成绩。
查询并打印某班某学期某课成绩。
系统具有用户和密码的管理。
2)系统功能模块分析
通过上面各项功能的分析、分类、综合,按照模块化程序设计的要求,得到它的模块结构:
(1)系统管理 它包括密码修改,用户管理,登录控制。
(2)班级信息管理 它包括班级信息修改,班级信息查询,班级信息输入。
(2)学生基本信息管理 包括学生基本信息查询,学生基本信息修改,学生基本信息输入。
(3)课程信息管理 包括课程信息查询修改,课程信息输入。
(4)成绩信息管理 包括成绩查询,成绩修改,成绩输入。
二、数据库设计和实现
1)创建数据库
在PowerBuilder开发环境中打开数据库画板,使用[ODB ODBC]接口建立Adaptive Server Anywhere 8.0(ASA 8.0)的数据库,然后建立5个表和1个视图。分别为“班级”表、“学生基本信息”表、“课程”表、“成绩”表、“用户”表。各表之间的关系如下图1所示:
图1 各表的关联关系
2) 创建应用对象
创建新的工作空间。
创建应用对象,应用对象名设为“app_xscj”。
打开新的对象画板.为应用对象app_xscj的Open事件编写代码如下:
// Profile liudi
SQLCA.DBMS = ODBC
SQLCA.AutoCommit = False
SQLCA.DBParm = ConnectString=DSN=liudi;UID=;PWD=
CONNECT;
if SQLCA.sqlcode0 then
messagebox(提示,数据库连接失败!)
else
open(w_login)
end if
执行此应用时,首先链接数据库“xscj”,成功后打开登录窗口。
三、设计系统管理模块
设计登录窗口
登录窗口如图2所示:
图2 登录窗口
为登录窗口编写脚本。
(1)定义全局变量
string gs_username,gs_password,gs_admin
分别存储登录用户的姓名、密码和权限。
(2)定义实例变量
int li_n
存储登录时用户输入密码错误的尝试次数,控制在最多3次机会。
(3)登录窗口w_login的open事件脚本如下
li_n=3
初始化变量li_n,限制出错次数为3次。
(4)[确定]按钮cb_1的Clicked事件脚本如下。
string ls_username,ls_password
ls_username=trim(sle_1.text)
ls_password=trim(sle_2.text)
if ls_username= or ls_password= then
messagebox(提示,用户名和密码不能为空)
else
SELECT users.name,users.password,users.admin
INTO :gs_username,:gs_password,:gs_admin
FROM users
WHERE (users.name = :ls_username ) AND
(users.password = :ls_password );
if sqlca.sqlcode=0 then
open(w_main)
close(w_login)
else
li_n=li_n - 1
if li_n0 then
messagebox(提示,用户名或密码错误)
else
messagebox(提示,错误超过3次,自动退出)
halt
end if
end if
end if
(5)[放弃]按钮cb_2的Clicked事件脚本如下.
halt
2) 设计密码修改窗口
创建窗口并设置属性
创建密码修改窗口w_mmxg,调整其大小,在窗口上放置3个静态文本控件(st_1,st_2,st_3)、2个命令按钮控件(cb_1,cb_2),设计完后如图3所
您可能关注的文档
最近下载
- 【关爱青春期】《男生青春期教育讲座》.pptx VIP
- JB∕T 8527-2015 金属密封蝶阀.pdf VIP
- 2025 《高质量数据集 分类指南》.pdf VIP
- 2025年八年级语文上册《钱塘湖春行》古诗鉴赏对比阅读训练含答案.docx VIP
- 《工程测量基础(第2版)》课件 闭合导线测量.pptx
- 《铁路技术管理规程》(普速铁路部分)考试复习参考题库资料(500题).pdf VIP
- 2025年宿州市公安机关第二批公开招聘警务辅助人员240人笔试备考试题及答案解析.docx VIP
- 管理创新与思维创新 .pptx VIP
- 《光电传感器》PPT课件.ppt VIP
- CAD基础教程详解.ppt VIP
原创力文档


文档评论(0)