2022年pb学生成绩管理系统课程设计 .pdf

上传人:C****o 文档编号:32196794 上传时间:2022-08-08 格式:PDF 页数:41 大小:6.36MB
返回 下载 相关 举报
2022年pb学生成绩管理系统课程设计 .pdf_第1页
第1页 / 共41页
2022年pb学生成绩管理系统课程设计 .pdf_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《2022年pb学生成绩管理系统课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年pb学生成绩管理系统课程设计 .pdf(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 2010-2011 学年第 1 学期PowerBuilder程序设计(专业选修课)学号:姓名:班级:答 辩 情 况:1、程序难易程度:难() ,较难() ,一般() ,简单() ;2、程序工作量:大() ,较大() ,一般() ,较小() ;3、基本操作:熟练() ,较熟练() ,一般() , 不熟练() ,极不熟练() ;4、代码理解:准确() ,较准确() ,一般() , 不准确() ,极不准确() ;平 时 成 绩:优秀() ,良好() ,中等() ,一般()总 评 成 绩:任 课 教 师:2010 年 12 月名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

2、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 41 页 - - - - - - - - - 2 学生成绩管理系统一、系统分析与设计在任何高等院校,学生的成绩管理都是学校教务管理的重要环节之一。随着学校学生人数的增加, 学生成绩管理的任务更加繁重,必须借助现代化的管理工具和手段提高学生成绩管理效率。学生成绩管理系统广泛适用于高校教务管理部门的学生成绩管理。1、系统功能分析系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。需要通过与用户的交流和沟通明确用户对系统的功能要求,最终列出系统可以实现的功能由用户确认。本例中的学生成绩管理

3、系统需要完成的主要功能如下。 班级信息的输入和存储,包括班级编号、班级名称、所属院系、入校时间和学制等。 对已经输入的班级信息的修改、查询。 学生基本信息的输入和存储,包括学号、姓名、性别、出生日期、班级等。 学生基本信息的修改和查询。 每学期初各班所开设课程的输入,包括课程名、学期、学时等。 各班所开设课程信息的修改和查询。 学期末输入每个学生的考试成绩。 学生成绩的修改。 查询某个学生某学期的各科成绩。 查询并打印某班某学期所有学生的各科成绩。 查询并打印某班某学期某科成绩。 系统具有用户和密码的管理。2、系统功能模块设计通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到

4、如图1 所示的功能模块图。二、数据库设计与实现数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统的实现效果和数据操作效率以及能否保证数据的一致性、完成性和安全性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 41 页 - - - - - - - - - 3 图 1 系统功能模块1、数据库设计根据学生成绩管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集、存储和操纵的数据信息,得到如图2 所示的系统E-R 图。根据系统E-R 图得到

5、以下关系模式。班级 (班级编号,班级名称,所属院系,学制,入学时间,人数)。学生基本信息(学号,姓名,性别,出生日期,家庭住址,班级编号)。课程 (班级编号,学期,课程名称,学时,教师)。成绩 (学号,学期,课程名称,成绩)。为了系统的使用安全,要建立用户管理,而用户使用权限分为管理员和一般用户两类,因此需要建立一个存储用户信息的关系。用户 (姓名,密码,用户类型)。2、创建数据库根据关系模式,确定需要建立的数据库和表。在 PowerBuilder 开发环境中打开数据库画板,使用【ODB ODBC 】接口建立Adaptive Server Anywhere 9.0(ASA 9.0) 的数据库D

6、:xscjdataxscj.db ,然后依次建立以下5 个表和 1 个视图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 41 页 - - - - - - - - - 4 图 2 系统 E_R 图1)“class ”表表名: banji 主键: bjbh 班级表2)“student ”表表名: jiben 主键: xh 学生表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -

7、 - - 第 4 页,共 41 页 - - - - - - - - - 5 3)“subject ”表表名: bjkc 主键: (bjbh,xq,kcmc) 课程表4)“xscj ”表表名: xscj 主键: (xh,xq,kcmc) 学生成绩表5)“users ”表表名: users 主键: xm 用户表各个表之间通过外键形成如图3 所示的关联关系。6)视图为了访问数据库方便,还建立了1 个视图“ v_1” ,该视图由学生基本信息表和班级表连接而成,对应的SQL 语句如下。CREATE VIEW v_1(xh,xm,xb,csrq,bjbh,bjmc,zymc)AS SELECT stude

8、nt.xh,student.xm,student.xb,student.csrq,student.bjbh,class.bjmc,class.xbmc FROM student,class WHERE(class.bjbh=student.bjbh); 完成数据库和表的创建后,可以在数据库画板中向数据库输入部分数据。其中,“用户”表中必须输入一条记录(“900001” , “123456” , “管理员” ),作为进入系统默认的管理员,即账号为“ 900001” ,密码为“ 123456” ,用户类型“管理员” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

9、 - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 41 页 - - - - - - - - - 6 图 3、各表的关联关系三、创建应用对象完成数据库的设计和系统功能设计之后,可以开始各个功能模块的实现。在 PowerBuilder中开发应用程序时,就是创建各种对象、为对象设置属性以及编写事件脚本的过程。 创建新的工作空间,工作空间文件路径及名称设为“d:xscjworkplace.pbw ” 。 创建应用对象, 应用对象名设为 “xscj” , 应用库文件路径及名称设为“d:xscjxscj.pbl ” ,目标文件路径及名称设为“d:xscjxscj.

10、pbt ” 。(3) 为应用对象xscj 的 Open 事件编写代码如下。SQLCA.DBMS = ODBC SQLCA.AutoCommit = False SQLCA.DBParm = ConnectString=DSN=student;UID=dba;PWD=sql CONNECT; if SQLCA.sqlcode0 then messagebox(提示 , 数据库连接失败!) else open(w_main) end if 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第

11、6 页,共 41 页 - - - - - - - - - 7 四、设计系统管理模块本模块实现用户登录控制、学生能查询自己的个人成绩,教师能录入班级的课程信息,管理员能实现对用户管理的控制以及对一些基本信息的录入。1、设计登录窗口图 4 窗口 w_load 1)创建窗口并设置属性创建登录窗口w_load,调整其大小,在窗口上放置1 个图片控件 (p_1)、4 个静态文本对象属性取值w_main Title 登录Window Type Response! p_1 picture name 登录.jpg st_1 text 账号st_2 text 密码password TRUE st_3 text

12、用户类型st_4 text 欢迎登录学生管理学系统TextColor Link Hove FaceName 华文斜体sle_1 text sle_2 text cb_1 text 登录cb_2 text 退出表 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 41 页 - - - - - - - - - 8 控件 (st_1、 st_2、 st_3、 st_4)、 2 个单行编辑器控件(sle_1、sle_2)、1 个下拉列表控件 (ddlb_1) 、2 个命令按钮控

13、件(cb_1、cb_2),各个控件的属性如表1 所示,表中未列出的采用默认值2)编写脚本 定义全局变量。string gs_username,gs_password,gs_admin 分别存储登录用户的账号、密码和用户类型。 定义实例变量。int li_n 存储登录时用户输入密码错误的尝试次数,控制在最多3 次机会不能是局部变量。 登录窗口w_login 的 Open 事件脚本如下。li_n=3 初始化变量li_n ,限制出错次数为3 次。【登录】按钮cb_1 的 Clicked 事件脚本如下。string ls_username,ls_password,ls_admin ls_usernam

14、e=trim(sle_1.text) ls_password=trim(sle_2.text) ls_admin=ddlb_1.text if ls_username= or ls_password= or ls_admin= 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

15、.password = :ls_password )AND (users.admin=:ls_admin); if sqlca.sqlcode=0 then open(w_main) close(w_load) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 41 页 - - - - - - - - - 9 else li_n=li_n - 1 if li_n0 then messagebox(提示 , 账号或密码错误) else messagebox(提示 , 错误超过

16、3 次 ,自动退出 ) halt end if end if 【退出】按钮cb_2 的 Clicked 事件脚本如下。halt/ 退出程序2、设计密码修改窗口密码修改窗口如图5 所示。1)创建窗口并设置属性创建密码修改窗口w_mmxg ,调整其大小,在窗口上放置3 个静态文本控件(st_1、st_2、st_3)、3 个单行编辑器控件(sle_1、sle_2、sle_3)、2 个命令按钮控件(cb_1、cb_2),各个控件的位置和大小参照图5 调整。其他需要修改的属性见表2,表中未列出的属性保留其默认值。图 5 窗口 w_mmxg 名师资料总结 - - -精品资料欢迎下载 - - - - - -

17、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 41 页 - - - - - - - - - 10 对象属性取值w_mmxg Title 用户密码设置Window Type Response! p_1 picture name 密码修改 .jpg st_1 text 旧密码st_2 text 新密码password TRUE st_3 text 重新输入新密码sle_1 text password TRUE sle_2 text password TRUE sle_3 text password TRUE cb_1 text 确定cb

18、_2 text 取消表 2 2)编写脚本(1)【确定】按钮cb_1 的 Clicked 事件脚本如下。string ls_password if trim(sle_1.text)gs_password then messagebox(提示 ,旧密码错误 ) else if trim(sle_2.text)=(sle_3.text) then ls_password=trim(sle_2.text) UPDATE users SETpassword = :ls_password WHERE (users.name = :gs_username ) AND (users.password = :g

19、s_password); if sqlca.sqlcode0 then messagebox(提示 ,密码修改不成功) else close(parent) messagebox(提示 ,密码修改完成) end if else messagebox(提示 , 两次密码不相同) end if end if (2)【取消】按钮cb_2 的 Clicked 事件脚本如下。close(parent) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 41 页 - - - - -

20、- - - - 11 3、设计用户管理的数据窗口和窗口1)设计数据窗口创建数据窗口“d_yhgl” ,显示风格为“Grid” ,数据源类型为“Quick Select” ,布局如图6 所示。数据窗口d_yhgl 生成的 SQL Select 语句为:SELECTusers.name,users.password,users.admin FROMusers 图 6 数据窗口d_yhgl其中列控件“ admin”的编辑风格改为“DropDownListBox ” ,码表 (CodeTable)下图所示。2)创建窗口并设置属性创建用户管理窗口w_yhgl ,调整其大小,在窗口上放置1 个数据窗口控件

21、(dw_1) 、4 个命令按钮控件(cb_1、cb_2、cb_3、cb_4),各个控件的位置和大小如图7所示,其对象属性取值w_mmxg Title 用户密码设置Window Type Response! p_1 picture name 用户管理 .jpg dw_1 DataObject d_yhgl VScrollbar TRUE HScrollbar TRUE cb_1 text 添加cb_2 text 删除cb_3 text 保存Enabled FALSE cb_4 text 退出表 3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

22、- - - - 名师精心整理 - - - - - - - 第 11 页,共 41 页 - - - - - - - - - 12 他需要修改的属性见表3,表中未列出的属性保留其默认值。图 7 窗口 w_yhgl3)编写脚本(1) 用户管理窗口w_yhgl 的 Open 事件脚本如下。dw_1.settransobject(sqlca) dw_1.retrieve() (2) 用户管理窗口w_yhgl 的 Closequery 事件脚本如下。integer rt dw_1.accepttext() if dw_1.modifiedcount() =0 and dw_1.deletedcount()

23、=0 then return 0 else rt=messagebox(提示 , 添加修改内容未保存,确实退出吗 ?,Question!,YesNo!) if rt=1 then return 0 end if end if return 1 (3) 数据窗口控件dw_1 的 Itemchanged 事件脚本如下。cb_3.enabled=true/激活“保存”按钮名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 41 页 - - - - - - - - - 13 (4)

24、【添加】按钮控件cb_1 的 Clicked 事件脚本如下。integer row row=dw_1.insertrow(0) dw_1.scrolltorow(row) (5)【删除】按钮控件cb_2 的 Clicked 事件脚本如下。dw_1.deleterow(0) cb_3.enabled=true (6)【保存】按钮控件cb_3 的 Clicked 事件脚本如下。if dw_1.update(true,false)=1 then dw_1.resetupdate() commit; cb_3.enabled=false else rollback; messagebox(提示 , 保

25、存数据失败!) end if (7)【退出】按钮控件cb_4 的 Clicked 事件脚本如下。close(parent) 五、设计主窗口和菜单主窗口和菜单是系统工作的主界面。1、创建菜单对象菜单结构如图8 所示。菜单对象名为“m_main” ,菜单栏中的菜单项设置了访问键(AccessKey),菜单项在工具条上建立了图标按钮。(1)【系统】菜单下【密码修改】菜单项的Clicked 事件脚本如下。open(w_mmxg) (2)【系统】菜单下【用户管理】菜单项的Clicked 事件脚本如下。open(w_yhgl) (3)【系统】菜单下【退出系统】菜单项的Clicked 事件脚本如下。clos

26、e(parentwindow) (4)【班级管理】菜单下【录入班级信息】菜单项的Clicked 事件脚本如下。opensheet(w_banji_shuru) (5)【班级管理】菜单下【修改班级信息】菜单项的Clicked 事件脚本如下。opensheet(w_banji_xiugai) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 41 页 - - - - - - - - - 14 图 8 菜单 m_main (6)【班级管理】菜单下【浏览班级信息】菜单项的Clic

27、ked 事件脚本如下。open(w_banji_liulan) (7)【学生管理】菜单下【录入学生信息】菜单项的Clicked 事件脚本如下。open(w_student_shuru) (8)【学生管理】菜单下【修改学生信息】菜单项的Clicked 事件脚本如下。open(w_student_xiugai) (9)【学生管理】菜单下【查询学生信息】菜单项的Clicked 事件脚本如下。open(w_student_chaxun) (10)【课程管理】菜单下【录入/修改开设课程】菜单项的Clicked 事件脚本如下。open(w_subject_shuruxiugai) (11)【课程管理】菜单

28、下【查询开设课程信息】菜单项的Clicked 事件脚本如下。open(w_subject_chaxun) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 41 页 - - - - - - - - - 15 (12)【成绩管理】菜单下【录入修改成绩】菜单项的Clicked 事件脚本如下。open(w_xscj_shuru) (13)【成绩管理】菜单下【查询个人成绩】菜单项的Clicked 事件脚本如下。open(w_xscj_grcx) (14)【成绩管理】菜单下【查询班

29、级成绩】菜单项的Clicked 事件脚本如下。open(w_xscj_bjcx) (15)【成绩管理】菜单下【查询课程成绩】菜单项的Clicked 事件脚本如下。open(w_xscj_kccx) (16)【窗口】菜单下【层叠窗口】菜单项的Clicked 事件脚本如下。/w_main.arrangesheets(cascade!) (17)【帮助】菜单下【关于】菜单项的Clicked 事件脚本如下。open(w_about) 2、设计主窗口创建主窗口w_main 如图 9 所示,其需要设置的属性如表4 所示,表中未列出的属性保留其默认值。图 9 主窗口 w_main 名师资料总结 - - -精

30、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 41 页 - - - - - - - - - 16 对象属性取值w_main Title 学生成绩管理系统Window Type main! MenuName m_main MaxBox FALSE p_1 picture name 主界面 .jpg 表 4 窗口对象w_main 的 Open 事件脚本如下。if gs_admin= 学生 then m_main.m_系统 .m_用户管理 .enabled=false m_main.m_学生管理 .

31、enabled=false m_main.m_班级管理 .enabled=false m_main.m_课程管理 .m_录入修改开设课程信息.enabled=false m_main.m_成绩管理 .m_录入修改成绩 .enabled=false m_main.m_成绩管理 .m_查询班级成绩 .enabled=false m_main.m_成绩管理 .m_查询课程成绩 .enabled=false else if gs_admin= 教师 then m_main.m_ 系统 .m_用户管理 .enabled=false m_main.m_学生管理 .enabled=false m_main.

32、m_班级管理 .enabled=false end if end if 其功能是对用户进行权限控制。六、设计班级管理模块本模块实现班级信息的输入、修改和查询。1、设计访问班级信息的数据窗口1)设计输入班级信息的数据窗口创建数据窗口d_class_shuru,显示风格为“Freeform” ,数据源类型为“Quick Select” ,其布局如图10 所示。数据窗口d_class_shuru 生成的 SQL Select 语句为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页

33、,共 41 页 - - - - - - - - - 17 SELECTclass.bjbh,class.bjmc,class.xbmc,class.xz,class.rxsj,class.rs FROM class 图 10 数据窗口d_class_shuru 2)设计修改班级信息的数据窗口创建数据窗口d_class_xiugai,显示风格为“Grid” ,数据源类型为“Quick Select” ,其布局如图11 所示。图 11 数据窗口d_class_xiugai 数据窗口d_class_xiugai 生成的 SQL Select 语句为:SELECTclass.bjbh,class.bj

34、mc,class.xbmc,class.xz,class.rxsj,class.rs FROM class ORDER BYclass.bjbhASC 2、设计访问班级信息的窗口首先设计两个通用的输入窗口和修改窗口作为父对象,实现一般输入和修改的功能,窗口中的数据窗口控件不设定具体的数据窗口对象,在继承的窗口对象中再设定。通过继承可以简化程序设计,实现代码重用。1)设计输入窗口创建窗口对象w_shuru,调整其大小,放置1 个数据窗口控件(dw_1) 、8 个命令按钮控名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理

35、 - - - - - - - 第 17 页,共 41 页 - - - - - - - - - 18 件(cb_1cb_8),窗口布局如图12 所示。窗口及其控件的属性设置见表5。图 12 窗口 w_shuru 对象属性取值w_shuru Title Window Type response! cb_1 text 添加cb_2 text 删除cb_3 text 保存Enabled FALSE cb_4 text 退出cb_5 text | cb_6 text cb_8 text | dw_1 VscrollBar TRUE 表 5 设置完属性后开始编写脚本代码,其中窗口w_shuru 的 Ope

36、n 事件和 Closequery 事件、命令按钮 (【添加】、 【删除】、 【保存】和【退出】)的 Clicked 事件同窗口w_yhgl 的相应事件脚本,在此不再重复。其他命令按钮的事件脚本如下。(1)【|】按钮的 Clicked 事件脚本如下。dw_1.scrolltorow(1) (2)【】按钮的 Clicked 事件脚本如下。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 41 页 - - - - - - - - - 19 dw_1.scrollnextrow(

37、) (4)【|】按钮的Clicked 事件脚本如下。dw_1.scrolltorow(dw_1.rowcount() 2)设计修改窗口创建窗口对象w_xiugai ,调整其大小,放置1 个数据窗口控件(dw_1) 、4 个命令按钮控件 (cb_1cb_4),窗口布局如图13 所示。窗口及其控件的属性设置见表6,表中未列出的采用默认值。图 13 窗口 w_xiugai 对象属性取值w_shuru Title Window Type response! cb_1 text 添加cb_2 text 删除cb_3 text 保存Enabled FALSE cb_4 text 退出表 6 窗口和控件的事

38、件脚本与以上输入窗口的对应部分相同。3)设计输入班级信息窗口通过继承输入窗口w_shuru 生成输入班级信息窗口w_class_shuru,将数据控件dw_1 的DataObject 属性设置为d_class_shuru,将窗口的Title 属性改为“录入班级信息”,此窗口设计便完成了。4)设计修改班级信息窗口通过继承修改窗口w_xiugai 生成修改班级信息窗口w_class_xiugai ,将数据控件dw_1名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 41 页

39、- - - - - - - - - 20 的 DataObject 属性设置为d_class_xiugai,将窗口的Title 属性改为“修改班级信息”,此窗口设计便完成了。5)设计浏览班级信息窗口创建窗口对象w_class_liulan ,调整其大小,放置1 个数据窗口控件dw_1,调整窗口布局如图 14 所示。设置窗口的属性为Response!,“ text”属性为“浏览班级信息”图 14 窗口 w_class_liulan 窗口的 Open 事件脚本如下。dw_1.settransobject(sqlca) dw_1.retrieve() 七、设计学生基本信息管理模块本模块实现学生基本信

40、息的输入、修改和查询。1、设计访问学生基本信息的数据窗口1)设计输入学生基本信息的数据窗口创建数据窗口d_student_shuru,显示风格为“ Freeform” ,数据源类型为“Quick Select” ,其布局如图15 所示。其中,列控件“xb”的编辑风格改为“RadioButtons” ,码表如图15 中所示;列控件“bjbh”的编辑风格改为“DropDownDW ” ,其DataWindow属性设置为“d_banji_xiugai ” ,Display Column 属性和 Data Column 属性都设置为 “bjbh” , Width of DropDown(%) 属性设置

41、为“300” ,Lines in DropDown属性设置为 “6” ,VScrollBar 属性设置为 “ True” 。数据窗口d_jiben_shuru名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 41 页 - - - - - - - - - 21 生成的 SQL Select 语句为:SELECT student.xh,student.xm,student.xb,student.csrq,student.jtzz,student.bjbh FROMstuden

42、t 图 15 数据窗口d_student_shuru 2)设计修改学生基本信息的数据窗口创建数据窗口d_student_xiugai,显示风格为“Grid” ,数据源类型为“Quick Select” ,其布局如图16 所示。其中,列控件“xb”的编辑风格改为“DropDownListBox ” ,列表项为“男” , “女”;列控件“ bjbh”的编辑风格改为“DropDownDW ” ,其 DataWindow 属性设置为“d_banji_xiugai ” ,Display Column 属性和 Data Column 属性都设置为“bjbh” ,Width o DropDown(%) 属性

43、设置为“ 300” , Lines in DropDown属性设置为“ 6” ,VScrollBar 属性设置为“ True” 。数据窗口d_student_xiugai 生成的 SQL Select 语句为:SELECT student.xh,student.xm,student.xb,student.csrq,student.jtzz,student.bjbh FROMstudent ORDER BYstudent.xhASC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21

44、 页,共 41 页 - - - - - - - - - 22 图 16 数据窗口d_student_xiugai 3)设计查询学生基本信息的数据窗口创建数据窗口d_student_chaxun,显示风格为“Grid” ,数据源类型为“SQL Select” ,其布局如图17 所示。其中,定义3 个 String 型检索参数变量mxh、mxm、mbjmc,分别表示学号、姓名、班级,形成带检索参数的数据窗口。该数据窗口的修改属性为默认值即“不允许修改”。数据窗口d_student_chaxun 生成的 SQL Select 语句为:SELECT student.xh, student.xm, cl

45、ass.bjmc, student.xb, student.csrq, student.jtzz FROM class, student WHERE ( student.bjbh = class.bjbh ) and ( ( student.xh = :mxh ) OR (student.xm=:mxm)OR(class.bjmc=:mbjbc) 图 17 数据窗口d_student_chaxun 2、设计访问学生基本信息的窗口1)设计输入学生基本信息的窗口通过继承输入窗口w_shuru 生成输入学生基本信息窗口w_student_shuru,如图 18 所示,将数据控件dw_1 的 Data

46、Object 属性设置为d_student_shuru,将窗口的 Title 属性改为 “录入学生基本信息” ,此窗口设计便完成了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 41 页 - - - - - - - - - 23 图 18 窗口 w_student_shuru 2)设计修改学生基本信息的窗口通过继承修改窗口w_xiugai 生成修改学生基本信息窗口w_student_xiugai ,如图19 所示,将数据控件dw_1 的 DataObject 属性设置

47、为d_student_xiugai ,将窗口的Title 属性改为“修改学生基本信息” ,此窗口设计便完成了。图 19 窗口 w_student_xiugai 3)设计查询学生基本信息的窗口要求此窗口中能够根据学生的姓名或学号查询出学生的基本信息,能够根据班级名称查名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 41 页 - - - - - - - - - 24 询出该班所有学生的基本信息。查询学生基本信息窗口如图20 所示。图 20 w_student_chaxun

48、首先创建一个窗口对象w_student_chaxun,调整其大小,在窗口中放置2 个静态文本控件(st_1,st_2)、1 个下拉图片列表框控件(ddplb_1) 、1 个单行编辑器控件(sle_1)、1 个命令按钮(cb_1)、 1 个数据窗口控件(dw_1) ,调整各个控件的位置和大小。设置窗口及其控件的属性见表 7。对象属性取值w_student_chaxun Title 查询学生信息Window Type response! dw_1 DataObject d_student_chaxun VScrollbar TRUE HScrollbar TRUE st_1 text 选择检索条件

49、st_2 text 输入检索的内容ddplb_1 items 学号,姓名,班级名称sle_1 text cb_1 text 查询表 7 窗口的 Open 事件脚本。dw_1.settransobject(sqlca) 【查询】按钮的click 事件脚本如下。dw_1.settransobject(sqlca) if ddplb_1.text= or sle_1.text= then 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 41 页 - - - - - - - -

50、 - 25 messagebox(提示 ,查询列和查询内容不能为空!) return end if string str str=trim(sle_1.text) choose case ddplb_1.text case 学号 dw_1.retrieve(str,) case 姓名 dw_1.retrieve(,str,) case 班级名称 dw_1.retrieve(,str) end choose 代码中根据查询依据的不同,以不同参数方式检索数据。八、设计课程管理模块本模块实现各班开设课程的输入、修改和查询。1、 设计访问课程信息的数据窗口1) 、设计输入班级课程信息的数据窗口创建数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com