ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:463.75KB ,
资源ID:18643605      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18643605.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理系统文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统文档格式.docx

1、2.2 创建数据库根据关系模式,确定要建立的数据库和表。 首先,在D盘根目录下建立本实例的工作文件夹“xscj”再在”d:xscj”文件夹下建立文件夹”data”,用于存储数据文件。 在PowerBuilder开发环境中打开数据库面板,实用ODB ODBC接口建立Adaptive Server Anywhere 8.0(ASA 8.0)的数据库D:xscjdataxscj.db,然后依次建立以下5个表和1个视图。 CTRL+N 新建 SHIFT+F7打开数据面板 选择ODB ODBC-Utilities-Create ASA Database 选择table-new table设置参数如图 其

2、他表设置如图1.“班级”表表名:banji主键:bjbh2.“学生基本信息”表表名:jiben主键:xh3.“课程”表bjkc(bjbh,xq,kcmc)4.“成绩”表xscj(xh,xqkcmc)5.“用户”表usersxm依次建立好主键和外键如图所示6.视图为了访问数据库方便,还建立一个视图“XSBJ”,该视图由学生基本信息表和班级表连接而成,对应的SQL语句如下:CREATE VIEW xsbj (xh,xm,xb,csrq,bjbh,bjmc,zymc) AS select jiben.xh,jiben.xm,jiben.xb,jiben.csrq,banji.bjbh,banji.b

3、jmc,banji.zymc from DBA.banji,DBA.jiben where(jiben.bjbh = banji.bjbh)然后保存就可以了。3创建应用对象完成数据库的设计和系统功能设计之后,可以开始各个功能模块的实现。在PowerBuilder中开发应用程序是时,就是创建各种对象、为对象设置属性以及编写事件脚本的过程。但不是简单的顺序过程,有时需要返回为前面创建的对象补充脚本。(1)创建新的工作空间,工作空间文件路径及名称设为“d:xscjxscj.pbw”(2)创建应用对象,应用对象名设置为“app_xscj”,应用库文件路径及名称设为“d:xscjpbl”,目标文件路径及

4、名称设为“d:xscjxscj.pbt”(3)打开应用对象面板,应用对象app_xscj的Icon属性设置为“d:xscjBOOK.ISO”。BOOKS.ICO是预先准备的图标文件。(4)为应用对象app_xscj的open事件编写代码如下。/ Profile XscjSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=xscjCONNECT;if SQLCA.sqlcode0 then messagebox(提示,数据库连接失败!)else open(w_logion)end if执行此应用时,首

5、先链接数据库“xscj”,成功后打开登陆窗口。4创建应用对象本模块实现用户登陆控制、用户自己的密码修改和用户管理,其中用户管理包括修改用户信息,添加新用户,删除用户,只有管理员级用户有此权限。4.1 设计管理登陆窗口登陆窗口如图所示1.创建窗口并设置属性创建登陆窗口w_login,调整其大小,在窗口上放置1个图片控件,3个静态文本控件,1个成组框控件,2个单行编辑器控件,2个命令控制按钮控件,各个控件的位置和大小如图所示。(1)定义全局变量string gs_username , gs_password , gs_admin (2) 定义实例变量int li_n存储登录时用户输入密码错误的尝试

6、次数,控制在最多3次机会。必须围实例变量,不能是局部变量。(3)登陆窗口w_logind 的OPEN 事件脚本如下: int li_n=3初始化变量li_n,限制出错次数为3次。(4)【确定】按钮cb_1的Clicked事件脚本如下。string ls_username, ls_passwordls_username=trim(sle_1.text)ls_password=trim(sle_2.text)if ls_username= or ls_password= then用户名和密码不能为空 SELECT users.name, passwordadmin INTO :gs_usernam

7、e, :gs_password, gs_admin FROM WHERE ( = :ls_username ) AND ( ls_password ); if SQLCA.sqlcode=0 then open(w_main) close(w_logion) else li_n=li_n - 1 if li_n messagebox(用户名密码错误 else错误超过3次,自动退出 halt end if end if end if(5)【放弃】按钮cb_2的clicked事件脚本如下:Halt4.2 设计密码修改窗口密码修改窗口如图所示:创建密码修改窗口w_mmxg,调整其大小,在窗口上放置3

8、个静态文本控件(st_1,st_2,st_2)3个单行编辑器控件(sle_1,sle_2,sle_3)2个命令按钮控件(cb_1,cb_2)各个控件的位置和大小参照图调整。2.【确定】按钮cb_1的Clicked事件脚本如下:string ls_passwordif trim(sle_1.text)=trim(sle_3.text) then旧密码错误 if trim(sle_2.text)=trim(sle_3.text) then ls_password=trim(sle_2.text) UPDATE SET ls_password WHERE ( gs_username) AND ( g

9、s_password ) ; if sqlca.sqlcode messagebox(密码修改不成功 else close(parent)密码修改成功两次新密码不相同(2)【取消】按钮cb_2的Clicked事件脚本如下Close(parent)4.3设计用户管理的数据窗口和窗口用户管理窗口如图所示:1.设计数据窗口创建数据窗口“d_yhgl”,显示风格围“grid”,数据源类型围”Quick Select”,发布如图所示。其中控件“admin”的编辑风格改为“DropDOWNListBox”,码表(Code Table)如图。数据窗口d_yhgl生成的SQL Select语句为:2.创建窗口

10、并设置属性创建用户管理窗口w_yhgl,调整其大小,在窗口上位置1个数据窗口控件(dw_1)、4个命令按钮控件(cb_1,cb_2,cb_3,cb_4)各个控件的位置和大小参照如图调整。3.编写脚本(1)用户管理窗口w_yhgl的open事件脚本如下。dw_1.settransobject( sqlca )dw_1.retrieve()(2)用户管理窗口w_yhgl的closequery事件脚本如下:integer rtdw_1.accepttext()if dw_1.modifiedcount( ) =0 and dw_1.deletedcount( )=0 then return 0 rt

11、=messagebox(添加修改内容未保存,确定要退出吗?,Question!,YesNo! if rt=1 then return 0return 1(3)数据窗口控件dw_1的Itemchanged事件脚本如下cb_3.enabled=true【添加】按钮控制cb_1的Clicked事件脚本如下:integer rowrow=dw_1.insertrow(0)dw_1.scrolltorow(row)【删除】按钮控件cb_2的Clicked事件脚本如下:dw_1.deleterow(0)(6)【保存】按钮控件cb_3的Clicked事件脚本如下:if dw_1.update(true,fa

12、lse )=1 then dw_1.resetupdate() commit; cb_3.enabled=false rollback;错误保存数据失败!(7)【退出】按钮控件cb_4的ClickedClose(patent)5设计主窗口和菜单主窗口和菜单是系统工具的主界面。5.1菜单结构如图所示。菜单对象名为“m_main”,菜单栏中的菜单项设置了访问键,常用的菜单项设置了快捷键,最常用的菜单项在工具条上建立了按钮。(1)【系统】菜单下【密码修改】菜单项的Clicked事件脚本如下Open(w_mmxg)【系统】菜单下【用户管理】菜单项的Clicked事件脚本如下:Open(w_yhgl)(

13、3)【系统】菜单下【退出系统】菜单项的Clicked事件脚本如下:Close(parentwindow)【班级管理】菜单【录入班级信息】菜单项Clicked事件脚本如下:Opensheet(w_banji_shuru,w_main,6,Original!其功能是在主窗口(w_main)中,以输入班级信息窗口w_banji_shuru的原来大小(Original!参数指定)打开,并在第6个菜单(即【窗口】菜单)下列出该窗口的名称。【班级管理】菜单需爱修改【修改班级信息】菜单项的Clicked事件脚本如下:opensheet(w_xiugai,w_main,6,Original! )【班级管理】菜

14、单下【修改班级信息】菜单项的菜单项的Clicked事件脚本如下:opensheet(w_banji_liulan,w_main,6,Original!) 【学生管理】菜单下【录入学生信息】菜单项的Clicked事件脚本如下:opensheet(w_jiben_shuru,w_main,6,Original!(8)【学生管理】菜单下【修改学生信息】菜单项的Clicked事件脚本如下:opensheet(w_jiben_xiugai,w_main,6,Original!(9)【学生管理】菜单下【查询学生信息】菜单项的Clicked事件脚本如下:opensheet(w_jiben_chaxun,w_

15、main,6,Original!(10)【课程管理】菜单下【录入/修改开设课程】菜单项的Clicked事件脚本如下:opensheet(w_bjkc_shuruxiugai,w_main,6,Original!(11)【课程管理】菜单下【查询开设课程信息】菜单项的Clicked事件脚本如下:opensheet(w_bjkc_chaxun,w_main,6,Original!(12)【成绩管理】菜单下【录入修改成绩】菜单项的Clicked事件脚本如下:opensheet(w_xscj_shuru,w_main,6,Original!(13)【成绩管理】菜单下【查询个人成绩】菜单项的Clicked

16、事件脚本如下:opensheet(w_xscj_grcx,w_main,6,Original!(14)【成绩管理】菜单下【查询班级成绩】菜单项的Clicked事件脚本如下:opensheet(w_xscj_bjcx,w_main,6,Original!(15)【成绩管理】菜单下【查询课程成绩】菜单项的Clicked事件脚本如下:opensheet(w_xscj_kccx,w_main,6,Original!(16)【窗口】菜单下【层叠窗口】菜单项的Clicked事件脚本如下:w_main.arrangesheets (cascade!(17)【帮助】菜单下【关于】菜单项的Clicked事件脚本

17、如下:open(w_about)(18)【帮助】菜单下【联机帮助】菜单项的Clicked事件脚本如下:showhelp(xscjhelp.chm,index!5.2设计主窗口设计窗口如图所示创建窗口对象W_main,窗口对象w_main的Open事件脚本如下if gs_admin=n m_main.m_系统s.m_用户管理.enabled=false其功能是非管理员用户计入系统时关闭【用户管理】菜单项6设计班级管理模块本模块实现班级信息的输入、修改和查询。6.1设计访问班级信息的数据窗口1.设计输入班级信息的数据窗口创建数据窗口d_banji_shuru,显示风格为“Freeform”,数据源

18、类型为“Quick Select”如图所示。数据窗口d_banji_shuru生成的SQL Select语句为:banjibjbhbjmczymcxzrxsjrs2.设计修改班级信息的数据窗口创建数据窗口d_banji_xiugai,显示风格为“Grid”数据源类型为“quick select”数据窗口d_banjid_banji_xiugai生成的SQL Select 语句为:ORDER BY ASC 6.2设计访问班级信息的窗口首先设计两个通用的输入窗口和修改窗口作为父对象,实现一般输入和修改的功能,窗口中的数据窗口控件不设定具体的数据窗口对象,在继承的窗口对象中再设定。通过继承可以简化程

19、序设计,实现代码重用。1.设计输入窗口创建窗口对象w_shuru,调整其大小,放置1个数据窗口控件(dw_1)、8个命令按钮控件(cb_1cb_8)窗口布局如图所示。设置完属性后开始编写脚本代码,其中窗口w_shuru的open事件Closequery事件、命令按钮(【添加】、【删除】、【保存】和【退出】)的Clicked事同前面的窗口W_yhgl的相应事件脚本。【|】按钮的clicked事件脚本如下:dw_1.scrolltorow(1)【dw_1.scrollnextrow()|】按钮的clicked事件脚本如下:dw_1.scrolltorow( dw_1.rowcount()2.设计修

20、改窗口创建窗口对象w_xiugai,调整大小,放置1个数据窗口控件(dw_1),4个命令控件(cb_1cb_4),窗口布局如图所示。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属性改为“修改班级信息

21、”,此窗口设计便完成了。5.设计浏览班级信息窗口创建窗口对象w_banji_liulan,调整大小,放置1个数据窗口控件dw_1,调整窗口布局如图所示。窗口的open事件脚本如下:dw_1.settransobject( sqlca)7设计学生基本信息管理模块本模块实现学生基本信息的输入,修改和查询。7.1设计访问学生基本信息的数据窗口1.设计输入学生基本信息的数据窗口创建数据窗口d_jiben_shuru,显示风格为“freeform”,数据源类型为“Quick Select”,布局如图所示其中,列控件“xb”的编辑风格为“radiobuttons”,列表控件“bjbh”的编辑风格改为“dr

22、opdowndw”,其datawindow属性设置为“d_banji_xiugai”,display column属性和Data colum属性都设置为“bjbh”,width of dropdown(%)属性设置为“300”,lines in dropdown的属性设置为“6”vscrollbar属性设置为“true”。数据窗口d_jiben_shuru生成的sql select 语句为:jibenxhxmxbcsrqjtzz2.设计修改学生基本信息的数据窗口创建数据窗口d_jiben_xiugai,显示风格为“grid”,数据源类型为“quick select”,布局如图所示:其中,列控件

23、“xb”的编辑风格改为“dropdownlistbox”,列表项为“男”,“女”;列表控件“bjbh”的编辑风格改为“dropdowndw”,其datawindow属性设置为“d_jiebn_xiugai”,display columm属性和Data colum属性都设置为“bjbh”,width of dropdown(%)属性设置为“300”,lines in dropdown属性设置为“6”,vscrollbar属性设置为“true”数据窗口d_jiben_xiugai生成的sql select语句为:3.设计查询学生基本信息的数据窗口创建数据窗口d_jiebn_chaxun,显示风格为“grid”,数据源类型为“sql select”其中布局如图所示其中,定义3个string型检索参数变量mxh,mxm,mbj,分别表示学号、姓名班级,形成带检索参数的数据窗口。该数据窗口的修改属性默认值即“不允许修改”数据窗口d_jiben_chaxun生成的sql select语句为:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1