学生成绩管理系统 PB课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库技术(数据库技术(PB PB PB)课程设计)课程设计
学生成绩管理系统学生成绩管理系统
班级: 姓名: 指导老师: 登分号:
电子职业技术学院 2012-04-08
教 师 评 语
日期:
教师:
学生:
前言
通过一学期的学习,我们解了PowerBuilder应用系统的开发过程以及组成PowerBuilder应用程序的各种对象是设计方法。
通过对这些内容的学习我们可以开发一些简单的数据库应用系统。
我们现在就来开发一个简单的学生成绩管理系统。
学生的成绩管理都是学校教务管理的重要环节之一。
随着学生人数的增加,学生成绩管理的任务更加繁重,必须借助与现代化的管理工具的手段提高学生成绩管理效率,学生成绩管理系统广泛使用于高校教务管理部门的学生成绩管理其作用和功能也是学生比较说熟悉和容易理解的。
一个应用系统的开发过程包括分析、设计、实现、调试和发布等阶段,以下大作业介绍学生成绩管理系统的分析和模块设计。
系统功能分析
学生成绩管理系统需要完成的主要功能如下:
(1)班级信息的输入和存储,包括班级编号,班级名称,所属专业,如校时间和学制等。
(2)对已经输入的班级信息的修改,查询。
(3)学生基本信息的输入与存储,包括学号,姓名,性别,出生日期,班级等。
(4)学生基本信息的修改和查询。
(5)每学期初各班做开设的课程的输入,包括课程名,学期,学时等。
(6)各班所开设课程信息的修改和查询。
(7)学期末输入每个学生的考试成绩。
(8)学生成绩的修改。
(9)查询某个学生,某个学期的各课成绩。
(10)系统具有用户和密码的管理。
通过设计此学生成绩管理系统,让我们进一步掌握各种对象的作用、特点和实际方法。
对系统的分析、设计、调试和发布的完整过程。
目录
封面................................................... 任务书................................................ 教师评语 (1)
前言 (2)
目录 (3)
正文……………………………………………
1.1数据库的设计与实现 (4)
1.2创建应用对象 (6)
1.3设计系统管理模块 (7)
1.4设计主窗口和菜单 (11)
1.5设计班级管理模块 (14)
1.6设计学生基本信息管理模块 (16)
1.7设计课程管理模块 (18)
1.8设计成绩管理系统 (20)
1.9系统的编译和发布 (21)
小结 (22)
参考文献 (23)
文
正 文
数据库设计与实现
1.1数据库设计与实现
1.1.1 数据库设计
根据学生成绩管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集,存储和操纵的数据信息,得到如图1.1所示的系统E-R图。
根据系统E-R图得到以下关系模式:
班级(班级编号,班级名称,所属专业,学制,入学时间,人数).
学生基本信息(学号,姓名,性别,出生日期,家庭住址,班级编号).
课程(班级编号,学期,课程名称,学时,教师).
成绩(学号,学期,课程名称,成绩).
为了系统的使用安全,要建立用户管理,而用户使用权限分为管理员和一般用户两类,因此需要建立一个存储用户信息的关系.
用户(姓名,密码,权限).
图1.1 系统E-R图
1.1.2创建数据库
先要在D盘根目录下建立一个工作夹命名为“xscj”,然后在“D:\xscj”文件夹下建立“data”,来存储数据库文件。
在PowerBuilder开发环境中打开数据库画板,使用[ODB ODBC]接口建立Adaptive server Anywhere 8.0(ASA 8.0)的数据库D:\xscj\data\xscj.db,然后建立以下5个表和1个视图。
1.“班级”表
表名:banji
主键:bjbh
各个键的属性见表1-1。
表1-1“班级”表的列属性
列名数据类型宽度小数位空值标题
(Heading) 标签(Label)
Bjbh Char 6 NO 班级编号班级编号:Bjmc varchar 20 NO 班级名称班级名称:Zymc varchar 20 NO 专业名称专业名称:Xz Numeric 1 0 NO 学制学制:
Rxsj Data NO 入学时间入学时间:Rs Numeric 1 0 YES 人数人数:
根据如上图所示的关系模式确定需建立的数据库和表,除了建“Banji”之外还有“jiben”主键是“xh”;“bjkc”主键是“bjbh,xq,kcmc”;“xscj”主键是“xh,xq,kcmc”;“users”主键是“xm”。
各表之间通过外键形成如下图所示的关联关系。
图1.2 表的关联关系
2.视图
为了访问数据库方便,还建立了一个视图“xsbj”,该视图由学生基本信息表和班级表连接而成,对应的SQL语句如下:
CREATE VIEW xsbj (xh,xm,xb,csrq,bjbh,bjmc,zymc) AS
SELECT
JIBEN.xh,jiben.xm,jiben.xb,jiben.csrq,jiben.bjbh,banji.bjmc,banji.zymc FROM DBA.banji,DBA.jiben
WHERE (jiben.bjbh = banji.bjbh)
完成数据库和表的创建后,可以在数据库画板中向数据库输入部分数据。
其中,“用户”表中必须输入一条记录(“admin”,“12345”,“y”),作为进入系统默认的管理员,即姓名为“admin”,密码为:“12345”。
1.2创建应用对象
完成数据库的设计和系统功能设计之后,开始各种功能模块的实现,在PB中开发应用程序时,就是创建各种对象,为对象设置属性及编写事件脚本的过程
(1)创建新的工作空间,工作空间设为:“d:\xscj\xscj.pbw”。
(2)创建应用对象设为“app_xscj”,应用库文件的路径:“d:\xscj\xscj.pbl”,目标文件:“d:\xscj\xscj.pbt”.
(3)打开应用对象画板应用对象的icon属性设置为“d:\xscj\BOOKS.ICO”.(预先准备的图标文件)。
(4)为应用对象的open事件编写代码如下
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBPARM = "Connectstring='DSN=aa;UID=dba;PWD=sql'"
Connect;
if SQLCA.sqlcode<>0 Then
messagebox("提示","数据库连接失败!")
else
open(w_login) //打开登陆窗口
end if
1.3设计系统管理模块
本模块实现用户登陆控制,用户自己的密码修改和用户管理,其中包括修改用户信息,添加新用户,删除用户,只有管理员有此权限。
1.3.1设计登陆窗口
登陆窗口如图1.3所示。
图1.3 登陆窗口
1.创建窗口并设置属性
创建登录窗口W_login,在窗口上放置1个图片控件(p_1)。
3个静太文本(st_1,st_2,st_3),1 个成组框控件(g_1),2个单行编辑起控件(sle_1,sle_2),2个命令按钮(cb_1,cb_2)
2.编写脚本
(1)定义全局变量。
String gs_username , gs_password,gs_admin
(2)定义实例变量。
Int li_n
(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(m_main) //密码正确,打开主窗口
close(w_login)
else
li_n=li_n - 1
if li_n<>0 then
messagebox("提示","用户名或密码错误")
else
messagebox("提示","错误超过3次,自动退出")
halt //错误超过3次,退出程序
end if
end if
end If
(5)【放弃】按钮cb_2的clicked事件脚本如下:
halt // 退出程序
1.3.2设计密码修改窗口
密码修改窗口如图1.4所示。
图1.4 密码修改窗口
1.创建窗口并设置属性
2.编写脚本
(1)[确定]按钮cb_1的Clicked事件脚本如下.
string ls_password
if trim (sle_1.text)<>gs_password then
messagebox("提示","旧密码错误")
else
if trim(sle_2.text)=trim(sle_3.text) then
ls_password=trim(sle_2.text)
update "users"
set "password"
where ("users"."name" = :gs_username ) and
("users"."password" = :gs_password );
if sqlca.sqlcode<>0 then
messagebox("提示","密码修改不成功!!") else
close (parent)
messagebox("提示","密码修改完成")
end if
else
messagebox("提示","两次新密码不相同") end if
end if
(2)[取消]按钮cb_2的Clicked事件脚本如下
close(parent)
1.3.3设计用户管理的数据窗口
用户管理窗口如图1.5所示。
图1.5用户管理窗口
1.设计数据窗口
创建数据窗口”d_yhgl”,显示风格为”Grid”,数据源类型为”Quick Select”,布局如图 1.6所示。
其控件”admin”的编辑风格改为”DropDownListBox”,码表(Code Table)如图1.6所示。
数据窗口d_yhgl生成的SQL.select语句为:
SELECT“users”.”name”,”users”.”password”,”users”.”admin” FROM”users”
图1.6 数据窗口d_yhgl
2.创建窗口并设置属性
3.编写脚本
写脚本
(1)用户管理窗口的open事件如下:
dw_1.settransobject(sqlca)
dw_1.retrieve()
(2)用户管理窗口的closequery事件脚本如下|:
integer rt
dw_1.accepttext()
if dw_1.modifiedcount()=0 and dw_1.deletedcount()=0 then
return
end if
end if
return 1
(3)数据窗口控件的Itemchanged事件脚本如下:
cd_3.enabled=true //激活保存按钮
(4)添加】按钮的clicked事件家如下
integer row
row=dw_1.insertrow(0)
dw_1.scrolltorow(row)
(5)【删除】按钮的clicked事件脚本如下:
dw_1.deleterow(0)
cb_3.enabled=true
(6)【保存】按钮的clicked事件如下:
(7)【退出】按钮的clicked的事件脚本如下:
close(parent)
1.4设计主窗口和菜单
1.4.1创建菜单对象
1设计登录窗口
菜单结构如图1.7所示,菜单名为“m_main”,菜单栏中的菜单项设置了访问键(Accesskey),常用的菜单项设置了快捷键(如|:【退出系】的快捷键为【ALT+F4】,【录入班级信息】的快捷键为【CTRL+A】),最常用的菜单项在工具条上建立了按钮。
2 编写脚本
(1)【系统】菜单下的【密码修改】的clicked事件脚本如下:
open(w_mmxg)
(2)【系统】菜单下的【用户管理】的clicked事件脚本如下:
open(w_yhgl)
(3)【系统】菜单下的【退出系统】的click事件脚本如下:
close(parentwindow)
(4)【班级管理】菜单下的【录入班级信息】的clicked事件脚本如下:opensheet(w_banji_shuru,w_main,6,original!)
(5)【班级管理】菜单下的【修改班级信息】的clicked事件如下:open sheet(w_banji_xiugai,w_main,6,original!)
(6)【班级管理】菜单下的【浏览班级信息】的clicked事件:open sheet(w_banji_liulan,w_main,6,ooriginal!)
(7)【学生管理】菜单的【录入学生信息】的clickeds事件:open sheet(w_jiben_shuru,w_main,6,original!)
(8)【学生管理】菜单下的【修改学生信息】的clicked事件:open sheet(w_jiben_xiugai,w_main,6,original!)
(9)【学生管理】菜单下的〖查询学生信息〗的clicked事件open sheet(w_jiben_chaxun,w_mian,6,original!)
(10)【课程管理】菜单下的【录入/修改开设课程】的ckicked事件如下:open sheet(w_bjkc_shuruxiugai,w_main,6,original!)(11)【课程管理】菜单下的【查询开设课程】的clicked事件:open sheet(w_bjkc_chaxun,w_mnain,6,original!)
(12)【成绩管理】菜单下的【录入修改成绩】的clicked事件:open sheet(w_xscj_shuru,w_main,6,original!)
(13)【成绩管理】菜单下的【查询个人成绩】的clicked事件:open sheet(w_xscj_grcx,w_main,6,original!)
(14)【成绩管理】菜单下的【查询班级成绩】的clicked事件:open sheet(w_xscj_bjcx,w_main,6,original!)
(15)【成绩管理】菜单下的【查询个人成绩】的clicked事件:
open sheet(w_xscj_kccj,w_main,6,original!)
(16)【窗口】菜单下的【层叠窗口】的clicked事件如下:w_main.arrangesheets(cascade!)
(17)【帮助】菜单下的【关于】的clicked事件如下:
open(w_about)
(18)【帮助】菜单下的【联机帮助】的clicked事件如下:showHelp(“d:\xscj\help\xscjhelp.chm”,index)
图1.7菜单结构
其功能是打开创建好的帮助文件”d:\xscj\help\xscjhelp.chm”,index!参数表示打开帮助的索引页。
PowerBulider本身没有提供制作帮助文件的工具,可以借助专门的制作工具实现,在PowerBulider中可以使用ShowHelp()函数打开
1.4.2 设计主窗口
本例的主窗口界面如图1.8所示。
图1.8主窗口界面
创建窗口对象w_main,
表1-2 主窗口的属性
对象 属性 取值
W_main Title 学生成绩管理系统
Windowtype Mdihelp
MenuName M_main
windowstste maximized
创建窗口对象w_main的Open事件脚本如下。
if gs_admin=’n’ then
m_main.m_系统.m_用户管理.enabled=false
end if
其功能是非管理员用户进入系统时关闭[用户管理]菜单项。
1.5设计班级管理模块
1.5.1 设计访问班级信息的数据窗口
1.设计输入班级信息的数据窗口
创建数据窗口d_banji_shuru,显示风格为”Freeform”,数据源类型为“Quick select”,布局图略:
数据窗口生成的SQLselect语句为:
SELECT “banji”.“ bjbh”,“banji”.“bjmc”“Banji”.zymc”,“banji”.“xz”,“banji”.“rsxj”,“banji”.“rs”
FROM “banji”
2.设计修改班级信息的数据窗口
创建数据窗口d_banji_xiugai,显示风格为“Grid”,数据源类型为“Quick Select”,布局图略:
数据窗口生成的SQL Select语句为:
SELECT “banji”.”bjbh”,”banji”.”bjmc”,”banji”. “zymc”,”banji”.”xz”,”banji”.”rxsj”,”banji”.”rs”
FROM “banji”
ORDER BY “banji”.”bjbh” ASC
1.5.2设计访问学生信息窗口
1. 设计输入窗口
创建窗口对象w_shuru,放置一个数据窗口控件,八个命令按钮,如下图1.9所示。
图1.9 输入窗口
(1)【〈〈〉按钮的clicked事件脚本:
dw_1.scrolltorow(1)
(2)【<】按钮的clicked事件脚本:
dw_1.scrollnextrow()
(3)【>】按钮的clicked事件脚本:
dw_1.scrollnextrow()
(4)【>>】按钮的clicked事件脚本:
dw_1.scrolltotrow(dw_1.rowcount())
2.设计修改窗口
创建窗口对象w_xiugai,放置一个数据窗口控件,四个命令按钮:窗口布局如下图1.10所示。
图1.10修改窗口
窗口和控件的事件脚本与以上输入窗口的对应相同
3.设计输入班级信息窗口
通过继承输入窗口w_shuru生成输入班级信息窗口w_banji_shuru,将数据控件dw_1的DataObject属性设置为d_banji_shuru,将窗口的Title属性改为“录入班级信息”,此窗口完成了。
4.设计修改班级信息窗口
通过继承输入窗口w_xiugai生成输入班级信息窗口w_banji_xiugai,将数据控件dw_1的DataObject属性设置为d_banji_xiugai,将窗口的Title属性改为“修改班级信息”,此窗口完成了。
5.设计浏览班级窗口
创建窗口对象w_banji_liulan,放置一个数据窗口控件,如下图1.11所示。
图1.11 班级信息浏览窗口
窗口的open事件脚本如下:
dw_1.settransobject(sqlca)
dw_1.retrieve()
1.6设计学生基本信息
本模块实现学生基本信息的输入、修改和查询。
1.6.1设计访问学生的基本信息的数据窗口
1.设计输入学生基本信息的数据窗口
创建数据窗口d_jiben_shuru,显示风格为“”,数据源类型为“”其布局如图略
其中,列控件“xb”的编辑风格改为“RadloButtons”,列控件“bjbh”的编辑风格为“DropDownw”,其(DataWindow)属性设置为“d_banji_xiugai”,(DispiayColumn)和(DataColumn)属性都设置为“300”,(Lies in DropDown)属性设置为“6”。
(VScrollbar)属性设置为“True”.
数据窗口生成的SQLselect语句为
SELECT”jiben”.”xh”,”jiben”.”xm”,”jiben”.”xb”,”jiben ”.”csrq”,”jiben”.”jizz”,”jiben”.”bjbh”
FROM “jiben”
2.设计修改学生基本信息的数据窗口
创建数据窗口d_jiben_xiugai,显示风格为“”,数据源类型为“”,数据窗口生成的SQLselect语句为:
SELECT “jiben”.”xh”,”jiben”.”xm”,”jiben”.”xb”, “jiben”.”csrq”,”jiben”.”jizz”,”jiben”.”bjbh”
FROM “jiben”
ORDER BY |“jiben”.”xh” ASC
3.设计查询学生基本信息窗口
创建数据窗口为d_jiben_chaxun,显示风格为“Grid”,数据源类型为“SQLselect”,
其中定义3个string型检索参数变量mxh、mxm、mbj,
数据窗口 生成的SQLelect语句为:
SELECT “banji”.”bjmc”,”jiben”.”xh”,”jiben”.
“xm”,”jiben”.”xb”,”jiben”.”csrq”,”jiben”.”jtz z”,”banji”.”bjbh”
FROM “jiben”,”banji”
WHERE
(“banji”.”bjbh”=”jiben”.”bjbh”)AND(“jiben”.”xh”like
:mxh)
AND
(“jiben”.”xm”like :mxm)AND(“jiben”.”xh”like :mbj)
ORDER BY “jiben”.”xh” ASC
1.6.2设计访问学生基本信息的窗口
1.设计输入学生基本信息窗口
通过继承输入窗口w_shuru生成输入班级信息窗口w_jiben_shuru,将数据控件dw_1的DataObject属性设置为d_jiben_shuru,将窗口的Title 属性改为“录入学生基本信息”,此窗口完成了。
2.设计修改学生基本信息窗口
通过继承输入窗口w_xiugai生成输入班级信息窗口w_jiben_xiugai,将数据控件dw_1的DataObject属性设置为d_jiben_xiugai,将窗口的Title属性改为“修改学生基本信息”,此窗口完成了。
如图1.12所示。
图1.12数据窗口d_jiben_xiugai
3.设计查询学生基本信息窗口
查询学生基本信息窗口如下图1.13所示。
图1.13查询学生基本信息窗口
首先创建窗口对象,在窗口中放置2个静态文本控件,1 个下拉表控件,1 个单行编辑器控件,1个命令按钮1个数据窗口控件和一个线形控件,以及有对查询按钮的open事件脚本.
1.7设计课程管理模块
1.7.1设计访问课程信息的数据窗口
1.设计输入班级课程信息的数据窗口
创建数据窗口d_xscj_shuru,显示风格为"Grid",数据源类型为“SQL Select”,其布局如图1.14所示。
图1.14数据窗口d_bjkc_shuru
其中,列控件 “bjbh”的编辑风格改为“DropDownDW”,其 属性设置为“D_banji_xiugai”,Dispiay Column 属性和 Data Window 属性都设置为“bjbh”,Lines in DropDOWN 属性设置为“300”,VScrollBar 属性设置为“True”
数据窗口d_bjkc_shuru生成的语句为SQLselect语句为:
SELECT
“bjkc”.”bjbh”,”bjkc”.”xq”,”bjkc”.”kcmc”,”bjkc”.”x s”,”bjkc”.”jsxm”
FROM “bjkc”
2.设计查询班级课程信息的数据窗口
创建数据窗d_bjkc_chaxun,显示风格为“Grid”,数据源类型为“SQL Select”,
其中,定义两个 string 型检索参数变量mxq,mbjmc,分别表示学期,班级,形成带检索参数的的数据窗口。
数据窗口生成SQLselect语句为:
SELECT
“bjkc”.”kcmc”,”bjkc”.”xs”,”bjkc”.”jsxm”,
FROM ”bjkc”,”banji”
WHERE(“banji”.”bjbh”=”bjkc”.”bjbh”)AND
((“bjkc”.”xq”=:mxq)AND(“banji”.”bjmc”=:mbjmc))
1.7.2设计访问课程信息的窗口
1.设计输入修改班级课程信息的窗口
输入修改班级信息的窗口的窗口的布局如下图1.15所示:
图1.15输入修改班级课程信息的窗口
首先,从祖先窗口w_xiugai继承生成窗口对象w_bjkc_shuruxiugai ,调整其大小,然后将数据窗口控件dw_1的DataObject属性设置为d_bjkc_shuru,
2.设计查询班级开设课程的窗口
首先创建一个窗口对象w_bjkc_chaxun,在窗口中放置2个静态文本控件,2个下拉列表控件,1个命令按钮、,1 个数据窗口控件
编写脚本
(1)编写窗口w_bjkc_chaxun的open事件脚本。
(略)
(2)【查询】按钮的事件脚本。
(略)
设计成绩管理模块
1.8设计成绩管理模块
1.8.1设计访问成绩信息的数据窗口
1.设计输入成绩的数据窗口
创建数据窗口d_xscj_shuru,显示风格为””Grid,数据源类型为”SQLselect”,数据来源与xscj成绩表 和视图xsbj,其中,学号,学期,课程,课程名称和成绩为xscj的列,姓名是的xsbj
列。
2.设计查询学生个人某学期各课成绩的数据窗口
创建数据窗口d_xscj_grcx,显示风格为Grid,数据源类型为”QuickSelect”,在【Summary】条中添加一个计算域控件,计算数据窗口中成绩总和
数据窗口的检索参数为mxh.mxq,分别对应与学号和学期。
数据窗口生成的SQLselect语句为:
SELECT “xscj”.”kcmc”,”xscj”.”cj”
FROM “xscj”,”xsbj”
WHERE (“xscj”.”xh”=:mxh) AND
(“xscj”.”xq”=:mxq)
效果图如下:
3.设计要查询某班级某学期全体学生各课成绩的数据窗口
创建数据窗口d_xscj_bjcx,显示风格为”CrossTab”,数据源类型为”SQLselect”,数据来源于xscj和视图xsbj
在【Header[1]】条中添加两个计算域控件,对应的表达试分别为mbjmc和mxq,3个文本控件,其文本分别为“成绩单”,“班级:”和“学期:”。
数据窗口检索参数为mxq和mbjmc,分别对应学期和班级名称
数据窗口 生成的SQL select语句为:
SELECT
“xscj”.”xh”,”xscj”.”xm”,”xscj”.”kcmc,””xscj”.”cj ”,”xscj”.”xq”,”xsbj”.”bjmc”
FROM “xscj”,”xsbj”
WHERE(“xscj”.”xh”=”xsbj”.”xh”)AND
((“xscj”.”xq”=:mxq) AND
(“xscj”.”bjmc”=:mbjmc))
ORDER BY “xscj”.”xh” ASC
4.设计查询某班级某学期,全体学生某课成绩的数据窗口
创建数据窗口d_xscj_kccx,显示风格为”N_UP”,数据源类型为”SQLselect”,数据来源于xscj和视图xsbj
在【Header】条中添加两个计算域控件,对应的表达试分别为mbjmc 和mkcmc,3个文本控件,其文本分别为“成绩单”,“班级:”和“课程:”。
数据窗口检索参数为mxq和mbjmc,mkcmc分别对应学期和班级名称和课程名称
数据窗口 生成的SQL select语句为:
SELECT
“xscj”.”xh”,”xscj”.”xm”,”xscj”.”kcmc,””xscj”.”cj ”,”xscj”.”xq”,”xsbj”.”bjmc”
FROM “xscj”,”xsbj”
WHERE(“xscj”.”xh”=”xsbj”.”xh”)AND
((“xscj”.”xq”=:mxq) AND
(“xscj”.”bjmc”=:mbjmc)
(”xscj”.”kcmc”=:mkcmc))
ORDER BY “xscj”.”xh” ASC
1.8.2设计访问成绩信息的窗口
1.设计输入成绩的窗口
创建窗口对象w_xscj_shuru。
在窗口上有1个分组框控件,有静态文本,有下拉列表框。
命令按钮等,如下图1.16所示:
图1.16输入成绩窗口
2.设计查询学生个人成绩窗口。
(略)
3.设计查询班级成绩的窗口。
(略)
4.设计查询课程成绩的窗口。
(略)
1.9系统的编译和
系统的编译和发布
发布
发布
除了以上建立的窗口外,还要建【设计查询学生个人成绩的窗口】【设计查询班级成绩的窗口】【设计查询课程成绩的窗口】,对相应按钮及控件进行编写脚本,这样才是完成了对整个编译系统,并且在每个模块的实现过程中,对应每个功能都进行了仔细的测试和调试,在最后对整个程序做系统的测试,测试完后进行对应用程序的编译和发布。
在以上整个分析过程中并没有一一说明。
部分只是概述出拉,在每部分都有例子。
其他的设计与脚本的编译有相同之处。
就没有必要全部详细的解说出来拉。
在这所有的应用程序的编译和发布步骤如下:
1.创建工程对象
单击工具条上的【New】,打开其对话框,选择【Project】标签页,再选择【Application Wizard】图标,单击Ok按钮,开始工程向导
2.编译生成可执行程序
单击工程画板上的【Deploy】图标,开始编译过程,生成可执行文件xscj.exe 3.测试分布
对可执行程序做系统的测试,最后便可发布了
在以上的整个学生成绩管理系统工程基本可以完成学生基本情况的录入、修改、查询。
和学生成绩管理的录入、修改、查询。
小 结
结
在本次大作业中通过学生成绩管理系统实例介绍了用PowerBuilder 开发数据库应用程序的过程,介绍了开发应用系统时的系统分析,功能设计,数据库设计以及数据库的实现,具体描述了实例中各种PowerBuilder 对象的设计方法,较为系统,综合,全面地总结了PowerBuilder的应用. 个人在设计调试整个系统的时候遇到诸多问题,并通过书上的解说来解决我们在设计时所面临的问题。
并从中了解到更多,在以后的学习中希望能学到更多,来完成自己所想设计的系统。
通过自己来独立完成。
参考文献
1.郑阿奇·PowerBuilder实用教程。
北京:电子工业出版社,2004
2.孟祥双,李宏力·Power Builder程序设计教程。
北京:中国电力出版社,2004 3.华铨平·Power Builder程序设计。
北京:清华大学出版社,2004
4.陈刚·Power Builder案例开发程序设计教程。
北京:中国水利水电出版社,2003
5.郭兴成·Power Builder9.0实用教程。
北京:科学出版社,2003。