基于CS结构的数据库开发技术_第1页
基于CS结构的数据库开发技术_第2页
基于CS结构的数据库开发技术_第3页
基于CS结构的数据库开发技术_第4页
基于CS结构的数据库开发技术_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLServer2005

数据库管理与开发教程第12章基于C/S结构的数据库开发技术本章主要介绍基于C/S结构的数据库开发技术,内容包括C/S结构与B/S结构概述,VB基于C/S架构的数据库开发技术,使用ADO控件操纵SQLServer2005,使用ADO对象操纵SQLServer2005,最后通过一个完整的学生信息系统,使读者全面了解基于C/S结构的数据库开发技术,并应用到实际工作中。12.1C/S结构与B/S结构12.2VB基于C/S架构的数据库开发技术12.3使用ADO控件操纵SQLServer200512.4使用ADO对象操作SQLServer200512.5开发一个学生信息系统12.1C/S结构与B/S结构

12.1.1认识C/S结构图12.1三层C/S结构图C/S结构的优点如下:(1)能充分发挥客户端计算机的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。(2)应用服务器运行数据负荷较轻,数据安全性较高。其缺点主要有以下几点:(1)维护成本高。(2)系统扩展性差。(3)客户端需要安装专用的客户端软件。12.1.2认识B/S结构

图12.2B/S结构12.1.3C/S结构与B/S结构的区别Client/Server(C/S)结构是建立在局域网的基础上的,Browser/Server(B/S)结构是建立在广域网的基础上的。两种结构存在下列区别。(1)硬件环境不同。(2)对安全要求不同。(3)程序架构不同。(4)软件重用度下同。(5)系统维护不同。(6)处理问题不同。(7)用户接口不同。(8)信息流不同。12.2VB基于C/S架构的数据库开发技术12.2.1了解ODBCODBC(OpenDataBaseConnectivity,开放数据库互连)是Microsoft公司提供的有关数据库的一个组成部分,它建立一组规范并提供了数据库访问的标准API(应用程序编程接口)。一个使用ODBC操作数据库的应用程序,基本操作都是由ODBC驱动程序完成,不依赖于DBMS。应用程序访问数据库时,首先要用ODBC管理器注册一个数据源,这个数据源包括数据库位置、数据库类型和ODBC驱动程序等信息,管理器根据这些信息建立ODBC与数据库的连接。12.2.2配置ODBC数据源

图12.3打开“ODBC数据源管理器”图12.4创建数据源图12.5数据源信息设置图12.6选择数据库验证方式图12.7选择数据库12.2.3了解OLEDBOLEDB(OLEDB)是微软通向不同数据源的低级应用程序接口。OLEDB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQL数据类型的通路。作为微软的组件对象模型(COM)的一种设计,OLEDB是一组读写数据的方法。OLDDB中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。使用OLEDB的应用程序会用到如下的请求序列:初始化OLE并连接到数据源、发出命令、处理结果、释放数据源对象并停止初始化OLE。12.2.4ADO开发技术ADO(ActiveXDataObject,ActiveX数据对象)是一个基于OLEDB之上的对象模型,包含了所有可以被OLEDB标准接口描述的数据类型,通过ADO内部的属性和方法提供统一的数据访问接口。ADO对象模型具有可扩展性,当把数据库上层应用程序移植到不同的数据库平台上时,只需要更换连接数据库的驱动程序,而不需要对上层程序作任何修改。ADO组件是Microsoft数据访问组件(MDAC)的一部分,可以直接从微软公司的官方网站下载更新,常见的版本是MDAC2.5和MDAC2.7。最新的ADO.NET版本包含在MDAC2.7组件里,随着.NET开发工具一起发布,包含了对新一代的XML网络技术的全面支持,关于ADO.NET的相关内容将在第13章中介绍。ADO提供了执行以下操作的方式:(1)连接到数据源,同时可确定对数据源的所有更改是否已成功或没有发生。(2)指定访问数据源的命令,同时可带变量参数,或优化执行。通常涉及ADO的Command对象。(3)执行命令,例如一个Select语句。(4)如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。(5)适当情况下,可使用缓存行的更改内容来更新数据源。(6)提供常规方法检测错误(通常由建立连接或执行命令造成),涉及ADO的Error对象。图12.8ADO对象模型12.3使用ADO控件操纵SQLServer2005

ADOData控件(如图12.9所示)是通过MicrosoftActiveX数据对象(ADO)来快速建立数据源连接的数据绑定控件,应用程序通过ADO控件与数据提供者连接,数据提供者可以是任何符合OLEDB规范的数据源。图12.9ADOData控件ADOData控件通过属性实现了对数据源的连接。创建连接时,可以采用下列连接方式之一:一个字符串,一个OLEDB文件或一个ODBC数据源名称(DSN)。当使用DSN时,无须更改控件的任何其他属性。使用ADOData控件可以达到以下目的:(1)连接一个本地数据库或远程数据库。(2)打开一个指定的数据库表,或定义一个基于SQL的查询、存储过程、或该数据库中表视图的记录集合。(3)将数据字段的数值传递给数据绑定控件,并在这些控件中显示或更改这些数据字段的数值。(4)添加新的记录,或根据显示在数据绑定控件中的数据的任何更改来更新一个数据库。12.3.1添加ADO控件

图12.10在main_jcsz_rylb窗体上添加ADO控件12.3.2访问SQLServer2005数据库1.通过ConnectionString属性连接数据库图12.11“属性页”对话框图12.12设置“连接”选项卡界面2.通过RecordSource属性连接数据表RecordSource属性确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表,也可以是SQL查询语句。语法:

object.RecordSource[=value]图12.13记录源“属性页”对话框

12.3.3使用数据绑定控件浏览数据

数据绑定是控件显示记录集中记录的一种方式,例如DataGrid、MSHFlexGrid等网格控件通常都是通过数据绑定的方式显示数据。图12.14选择需要绑定的ADO控件12.3.4添加、修改和删除数据记录的添加、修改和删除功能分别由ADO控件的Recordset对象的AddNew方法、Update方法、Delete方法实现。1.AddNew方法

功能:为可更新的Recordset对象创建新记录。语法:

recordset.AddNewFieldList,Values图12.15人员类别设置窗体图12.16打开人员类别表2.Update方法保存对Recordset对象的当前记录所做的所有更改。语法:recordset.UpdateFields,Values图12.17图书名称修改窗体图12.18修改后的“表tb_book”3.Delete方法功能:删除当前记录或记录组。语法:

recordset.DeleteAffectRecords12.4使用ADO对象操作SQLServer2005

12.4.1访问SQLServer2005图12.19引用ADO对象

12.4.2使用数据绑定控件浏览数据数据绑定的方法与在使用ADO控件时的方法类似,都是通过设置控件的DataSource属性实现的。12.4.3添加、修改和删除数据

使用ADO时,通过Recordset对象可对几乎所有的数据进行操作。下面利用Recordset对象的AddNew和Update方法向数据库中添加数据,但Recordset对象必须是可更新的。下面讲解Recordset对象的AddNew和Update方法给数据表增加记录。AddNew方法的语法如下。Recordset.AddNewFieldList,Values图12.20Recordset对象操作数据库中数据12.4.4访问视图视图是一种逻辑对象,是一种虚拟表。在视图中被查询的表称为视图的基表。大多数的SQL语句都可以用在视图的创建中。下面对创建视图以及调用视图的方法进行介绍。(1)创建视图

使用CREATEVIEW语句创建视图。CREATEVIEW的语法格式如下:CREATEVIEWview_name[(column_name[,column_name]…)]ASSELECT_statement(2)删除视图使用DROPVIEW语句删除视图DROPVIEW的语法格式如下:DROPVIEWview_name(3)查询视图记录

对视图中的记录进行查询的方法与对实表查询的方法相同12.4.5访问触发器和存储过程存储过程是在数据库服务器端执行的一组SQL语句的集合,经编译后存放在数据库服务器中。触发器是一种特殊类型的存储过程,它不同于普通的存储过程。触发器主要是通过时间进行触发而被执行的。1.触发器

(1)创建触发器利用CREATETRIGGER语句可以创建触发器。创建触发器的语法结构如下:CREATETRIGGERtrigger_nameON{table|view}[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[DELETE][,][INSERT][,][UPDATE]}ASSql_statements(2)删除触发器

利用DROPTRIGGER可以删除触发器。删除触发器的语法格式如下:DROPTRIGGER{trigger}[,...n](3)触发器的触发当更新数据时触发前面创建的触发器TRG_Edit,代码如下:PrivateSubCmd_Update_Click()'更新数据操作OnErrorGoToxIfText1.Text=""OrText2.Text=""ThenMsgBox"输入的员工信息不能为空",48,"提示信息"ElseCon2.ConnectionString="Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=db_Data"Con2.OpenSetRs=Con2.Execute("UPDATEtb_employeeSET员工姓名='"+Text2.Text+"'where员工姓名='"+Text1.Text+"'")

Con2.CloseMsgBox"数据更新成功完成",64,"提示信息"EndIfExitSubx:MsgBox"触发器还没有创建,请先创建触发器",48,"提示信息"EndSub2.存储过程

(1)创建存储过程创建存储过程的语法格式如下:CREATEPROC[EDURE]Procedure_name[;number][@Parameterdata_type[VARYING][=default][OUTPUT]][,……n][WITH{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}][FORREPLICATION]ASsql_statement[…n](2)删除存储过程

删除存储过程的语法格式如下:DROPPROCEDURE<Procedurename>[…,<lastProcedurename>](3)执行存储过程执行存储过程的语法格式如下:EXEC[UTE]Procedurename12.5开发一个学生信息系统

12.5.1需求分析12.5.2系统总体框架设计1.系统目标(1)要求有良好的人机界面,以便操作人员的使用;(2)要求有较好的权限管理;(3)能够实现数据信息的添加、修改、查询和删除等操作;(4)操作方便,数据稳定性好;(5)系统要求有安全性、协调性和完整性。

(1)实现学生信息的添加、修改和查询;(2)实现班级信息的添加、修改和查询;(3)基本课程信息的添加、修改和查询;(4)成绩信息的添加、修改和查询;(5)学生成绩信息的统计。2.系统功能结构设计

班级信息查询图12.21学生信息管理系统功能结构图12.5.3数据库设计1.数据库的分析为了实现数据的安全与稳定,学生信息管理系统使用了当前比较流行的SQLServer2005数据库。

MicrosoftSQLServer2005是微软在2005年12月推出的一款拥有多种服务的数据平台。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论