项目10学生成绩数据库系统的开发课件.ppt
《项目10学生成绩数据库系统的开发课件.ppt》由会员分享,可在线阅读,更多相关《项目10学生成绩数据库系统的开发课件.ppt(86页珍藏版)》请在三一办公上搜索。
1、项目10学生成绩数据库系统的开发,数据库应用系统是在数据库管理系统的支持下运行的计算机应用软件。前已述及,开发数据库应用系统不仅要进行数据库的设计,而且还要进行应用程序的设计,这也是前面项目7中提到的系统实施阶段的主要任务。为了使读者对在不同的开发环境下进行数据库应用系统编程有个较为全面的认识,本项目选择了Visual C+、JSP和ASP.NET三种不同的开发环境来介绍数据库应用程序的开发方法。,新课导入:,任务描述:,按照开发的基本过程和内容,将项目分解成以下几个任务:任务10.1 确定学生成绩管理系统的体系结构及其前台开发工具 任务10.2 确定系统的数据库访问技术(包括连接技术和数据库
2、访问对象)任务10.3 使用Visual C+开发学生成绩管理系统 任务10.4 使用JSP开发学生成绩管理系统 任务10.5 使用ASP.NET开发学生成绩管理系统,教学目标:,知识目标:(1)掌握3种不同的数据库系统体系结构及其适用场合;了解常用的数据库连接技术,以及ODBC、JDBC和OLE DB三种接口的技术要点;(2)掌握数据库访问对象ADO和ADO.NET的结构及其主要对象;(3)了解常用的应用程序开发工具Visual C+、JSP及ASP.NET的编程特点及其主要的编程技术。技能目标:(1)会使用常用的数据库连接技术,能进行ODBC、JDBC和OLE DB三种接口的使用;(2)能
3、够使用数据库访问对象ADO和ADO.NET进行SQL Server数据操作。,应用程序设计的一个关键要素是系统的体系结构,体系结构决定了应用程序的各个部分如何进行交互,同时也决定了每个部分实现的功能。随着信息系统的大型化、复杂化、分布式的发展趋势和变化特点,其体系结构也发生了很大的变化,从以往基于局域网的客户/服务器(Client/Server,简称C/S)结构到已广泛使用的基于Web的浏览器/服务器(Browser/Server,简称B/S)结构,再到目前正得到迅速应用的基于.NET技术的分布式计算框架。1.C/S结构 2.B/S结构 3.NET框架结构,知识点1:目前常用的数据库应用系统体
4、系结构,C/S结构,B/S结构,.NET框架结构,任务1:确定学生成绩管理系统的体系结构,【任务描述】试根据项目7所描述的应用需求确定学生成绩管理系统的体系结构,并选择合适的前台开发工具。【任务实现】根据项目7所描述的应用需求,现要建立一个基于校园网络应用平台的、面向学校教务部门以及各系部教学管理科室等层次用户的学生成绩管理系统,所以本系统应在学校校园网的基础上建立。为了使读者能体会到不同系统体系结构的差别,这里假设有两种不同结构的校园网,一种为仅能在学校内部使用的局域网,用户需在客户机上访问学生成绩管理系统;另一种为与外界连通的Internet网络,用户只需在客户机上安装一个通用的浏览器软件
5、即可访问校园网。这样,前者情况下学生成绩管理系统可以选择C/S体系结构,后者情况下则可以使用B/S体系结构或.NET框架结构。另外,在系统开发工具的选择上,C/S架构使用Visual C+前台开发环境;B/S架构使用JSP脚本环境进行开发;而.NET框架结构则使用ASP.NET开发环境。它们的后台数据库均建立在SQL-Server 2000之上。,在实际开发中,为了使应用程序能够操作数据库中的数据,必须建立一个与数据库管理系统的访问机制,以实现应用程序和数据库之间的互相通信。目前实现这种通信的方式主要有两种:数据库API(Application Program Interface,称为“应用程
6、序接口”)和数据访问对象接口。数据库API(数据库连接技术):1.ODBC 2.OLE DB 3.JDBC,知识点2:数据库访问技术,1、ODBC ODBC是开放式数据库连接(Open Database Connectivity)的英文缩写。它是微软公司为了便于用户在Windows系统下开发应用系统而制定的一种开放式的、标准化的应用程序接口。2、OLE DB OLE DB建立在Microsoft的COM(组件对象模型,其商业概念的称谓为ActiveX)基础上,它包括一组COM组件程序,组件与组件之间或者组件与客户程序之间通过标准的COM接口进行通讯,COM接口封装了各种数据系统的访问操作,为数
7、据使用者(即应用程序)和数据提供者建立了标准。OLE DB模型主要包括以下一些COM接口对象:(1)数据源(Data Source)对象(2)会话(Session)对象(3)命令(Command)对象(4)行集(RowSet)对象3、JDBC JDBC API提供两种主要接口:一是面向开发人员的java.sql程序包,使得java程序员能够进行数据库连接,执行SQL查询,并得到结果集,java.sql程序包提供了6个类和18个接口;二是面向底层数据库厂商的JDBC Drivers,它提供了4种类型的数据库驱动方式:JDBC-ODBC Bridge、JDBC-Native API Bridge、
8、JDBC-middleware和Pure JDBC Driver。,ADO的数据存取结构,ADO中的对象和集合,Connection对象 Command对象 Recordset对象 Parameters对象及Parameters集合 Fields对象及Fields集合 Property对象及Property集合 Errors对象及Errors集合,ADO.NET DataSet组件,DataSet包含一个或多个DataTable对象的集合,这些对象由行、列、主键、外键、约束及其数据的关系信息组成,由此你可以把DataSet想象成内存中的数据库,不管数据来源于一个关系型的数据库,还是来源于一个X
9、ML文档,都可以用一个统一的编程模型来创建和使用它,从而提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。,.NET数据提供程序,Connection对象提供与数据源的连接。Command对象使用户能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader对象从数据源中提供高性能的数据流。DataAdapter对象用于从数据源中检索数据,并填充DataSet中的表,并且会将对DataSet作出的更改返回数据源,从而起到连接DataSet对象和数据源的桥梁作用。,任务2:确定系统的数据库访问技术,【任务描述】试根据开发学生成绩管理系统不同的体系结
10、构及其采用的前台软件开发工具,确定系统的数据库访问技术。【任务实现】在本任务中用户可根据不同的系统体系结构和前台软件开发工具,选择合适的数据对象接口或API应用程序接口访问SQL Server数据库。针对任务10.1所采用的3种系统体系结构及其开发工具可作如下选择:当采用Visual C+进行C/S结构的系统开发时,可利用ODBC、OLE DB连接技术或ADO数据访问对象来访问SQL Server数据库;当采用JSP进行B/S结构的系统开发时,则利用JDBC连接技术;当采用ASP.NET进行.NET结构的系统开发时,则采用OLE DB、ADO.NET作为数据库的连接和访问技术。,1、Visua
11、l C+6.0的编程特点2、Visual C+的应用程序开发界面3、Visual C+中的应用程序窗口4、Visual C+中的资源5、事件驱动代码6、Microsoft 基本类库(MFC)7、Visual C+应用程序的开发步骤,知识点3:Visual C+编程知识,Visual C+6.0访问数据库的技术(1)ODBC(Open DataBase Connectivity(2)MFC ODBC(Microsoft Foundation Class ODBC(3)ADO(ActiveX Data Object)2.在Visual C+6.0中利用MFC ODBC与数据库连接(1)在应用程序中
12、连接数据源(2)在应用程序中断开与数据源的连接3.在Visual C+6.0中操作记录集,知识点4:在Visual C+中访问SQL Server,(1)纪录集的概念(2)记录集的打开(3)记录集的更新(4)记录集的滚动(5)记录集的定位(6)记录集的排序(7)记录集的事务处理(8)记录集的关闭,1.配置ODBC数据源【任务描述】为数据库“StudentScore”建立一个名为“Score_ODBC”的系统DSN。【任务实现】(1)在Windows 2003的控制面板中,双击“管理工具”中的“数据源(ODBC)”图标,打开“ODBC数据源管理器”对话框,在其中选择“系统DSN”选项卡,如图10
13、-17所示。(2)在“系统DSN”选项卡中,单击“添加”按钮,打开如图10-18所示的“创建新数据源”对话框,在该对话框中选择新建数据源要用的驱动程序SQL Server,单击“完成”按钮。(3)在打开的如图10-19所示的“创建数据源向导”对话框中,输入数据源名、说明信息和连接的SQL Server数据库服务器,单击“下一步”按钮。,任务3:使用Visual C+开发学生成绩管理系统,2.学生成绩管理系统中的“登录”功能模块的设计【任务描述】使用Visual C+6.0开发学生成绩管理系统中的“登录”功能模块,要求实现不同级别的用户能根据各自的用户名和口令进入系统,其界面如图10-24所示。
14、图10-24 学生成绩管理系统“登陆”功能界面,(1)主窗体设计,其主要属性如表10-1所示。,(2)添加框架控件和其中的文本框控件、组合框控件、标签控件等,各控件属性的设置如表10-2所示。,(3)编写事件过程程序代码。void CLoginDlg:OnOK()/TODO:Add extra validation hereBOOL bLogin=false;CString strUser,strPass;GetDlgItem(IDC_EDIT_USER)-GetWindowText(strUser);GetDlgItem(IDC_EDIT_PASS)-GetWindowText(strPas
15、s);if(OpenDB()/执行SELECT语句CRecordset rsUser(,while(!rsUser.IsEOF()rsUser.GetFieldValue(Users_Name,strResult);if(strResult=strUser)rsUser.GetFieldValue(Password,strResult);if(strResult=strPass)bLogin=true;rsUser.MoveNext();if(!bLogin)this-MessageBox(用户名或者密码不正确,错误,MB_OK+MB_ICONERROR);return;CloseDB();e
16、lseAfxMessageBox(无法打开数据库);CDialog:OnOK();,3.学生成绩管理系统中的“学生基本信息管理”功能的设计【任务描述】使用Visual C+6.0开发学生成绩管理系统中的“学生基本信息管理”功能模块,要求实现学生基本信息的显示、添加、修改和删除4个功能,其界面如图10-26所示。图10-26“课程信息录入与维护”功能界面,表10-3 主窗体的主要属性,(1)主窗体设计,其主要属性如表10-3所示。,(2)添加组框、静态文本、编辑框、按钮等元素,各元素属性的设置如表10-4所示。表10-4 Adodc1控件的主要属性,(3)编写事件过程程序代码。初始化:void
17、CStudentInfoDlg:RefreshDB()if(OpenDB()CRecordset rs(,Item.row=row;Item.mask=GVIF_TEXT|GVIF_FORMAT;Item.nFormat=DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;Item.col=0;Item.szText.Format(序号);m_GridCtrl.SetItem(,/所在班级Item.col=5;Item.szText.Format(str_Class_Id);m_GridCtrl.SetItem(,删除功能:void CStud
18、entInfoDlg:OnBtnDelete()int row=m_GridCtrl.GetSelectedCellRange().GetMinRow();CString sID=m_GridCtrl.GetItemText(row,1);CString sName=m_GridCtrl.GetItemText(row,2);if(IDYES=MessageBox(确实要删除+sID+sName+吗?,删除确认,MB_YESNO)if(OpenDB()CString sql=Delete from bStudent where Stud_Id=+sID+;m_db.ExecuteSQL(sql
19、);CloseDB();RefreshDB();,修改功能:void CStudentInfoDlg:OnBtnModify()m_dlgDetail-SetWindowText(修改学生信息);int row=m_GridCtrl.GetSelectedCellRange().GetMinRow();CString sID=m_GridCtrl.GetItemText(row,1);if(sID.IsEmpty()AfxMessageBox(请选择需要修改的记录!);return;m_dlgDetail-ReadyToModify(sID);m_dlgDetail-ShowWindow(SW
20、_SHOW);RefreshDB();,4.学生成绩管理系统中的“课程信息管理”功能的设计【任务描述】使用Visual C+6.0开发学生成绩管理系统中的“课程基本信息管理”功能模块,要求实现课程基本信息的显示、添加、修改和删除4个功能,其界面如图10-29所示。图10-29“课程信息录入与维护”功能界面,表10-7 主窗体的主要属性,(1)主窗体设计,其主要属性如表10-7所示。,(2)添加组框、静态文本、编辑框、按钮等元素,各元素属性的设置如表10-8所示。表10-8 各元素的属性设置,(3)编写事件过程程序代码。初始化:void CCourseInfoDlg:RefreshDB()if(
21、OpenDB()CRecordset rs(,m_GridCtrl.SetFixedColumnCount(1);m_GridCtrl.SetRowResize(FALSE);/加标题行 row=0int row=0;GV_ITEM Item;Item.row=row;Item.mask=GVIF_TEXT|GVIF_FORMAT;Item.nFormat=DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;Item.col=0;Item.szText.Format(序号);m_GridCtrl.SetItem(,if(row_all0)rs.
22、Open(CRecordset:forwardOnly,Select*from bCourse);/加内容 while(!rs.IsEOF()row+;/获取字段值 CString str_Course_Id,str_Course_Name,str_Course_Type,str_Hours;rs.GetFieldValue(Course_Id,str_Course_Id);rs.GetFieldValue(Course_Name,str_Course_Name);rs.GetFieldValue(Course_Type,str_Course_Type);rs.GetFieldValue(Ho
23、urs,str_Hours);/把当前记录加入到Grid中 GV_ITEM Item;Item.row=row;Item.mask=GVIF_TEXT|GVIF_FORMAT;Item.nFormat=DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS;,删除功能:void CCourseInfoDlg:OnBtnDelete2()int row=m_GridCtrl.GetSelectedCellRange().GetMinRow();CString sID=m_GridCtrl.GetItemText(row,1);CString sName=
24、m_GridCtrl.GetItemText(row,2);if(IDYES=MessageBox(确实要删除+sID+sName+吗?,删除确认,MB_YESNO)if(OpenDB()CString sql=Delete from bCourse where Course_Id=+sID+;m_db.ExecuteSQL(sql);CloseDB();RefreshDB();,修改功能:void CCourseInfoDlg:OnBtnModify2()CString str;GetDlgItem(IDC_BTN_MODIFY2)-GetWindowText(str);if(str=修改)
25、int row=m_GridCtrl.GetSelectedCellRange().GetMinRow();GetDlgItem(IDC_BTN_MODIFY2)-SetWindowText(确定);m_strCID=m_GridCtrl.GetItemText(row,1);GetDlgItem(IDC_EDIT_CID)-EnableWindow(true);GetDlgItem(IDC_EDIT_CID_OLD)-SetWindowText(m_strCID);m_strCName=m_GridCtrl.GetItemText(row,2);GetDlgItem(IDC_EDIT_CNA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 10 学生 成绩 数据库 系统 开发 课件

链接地址:https://www.31ppt.com/p-4032841.html