用VB进行CS结构数据库应用程序开发专题培训课件_第1页
用VB进行CS结构数据库应用程序开发专题培训课件_第2页
用VB进行CS结构数据库应用程序开发专题培训课件_第3页
用VB进行CS结构数据库应用程序开发专题培训课件_第4页
用VB进行CS结构数据库应用程序开发专题培训课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第14章用VB进行C/S结构数据库开发

14.1C/S体系结构介绍14.2VisualBasic访问SQLServer数据库概述14.3用VisualBasic开发C/S结构的图书管理系统

14.4本章小结14.1C/S体系结构介绍

数据库应用结构是指数据库运行的软、硬件环境。通过这个环境,用户可以访问数据库中的数据。四种最常见的应用结构:集中式结构文件服务器结构客户/服务器结构互联网应用结构集中式应用结构优点是可以实现集中管理,安全性好。缺点是费用昂贵,不能真正划分应用程序的逻辑。应用程序数据库大型机按键信息终端字符终端1终端N终端2客户端文件服务器结构优点在于实现的费用比较低廉,而且配置非常灵活。缺点是,由于所有的应用处理都要在客户端完成,要经常在网络上传送大量无用的数据.因此客户端的个人计算机必须要有足够的能力。例如Foxpro.应用程序数据库网络文件服务器文件文件请求工作站1工作站N工作站2客户端应用程序应用程序客户/服务器结构优点:应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中,在完成一个特定任务时,客户端工作站上的程序和服务器上的程序可以协同工作,同时极大地减少了网络流量。应用程序数据库服务器数据请求结果工作站1工作站N工作站2客户端应用程序应用程序互联网应用结构优点:最终用户应用软件的安装和维护都非常简单,客户端不再需要安装、配置应用软件的工作。这些工作只需在Web服务器上完成,从而减少客户端与服务器端软件配置的不一致以及不同版本应用软件所带来的问题。客户端应用程序数据库数据库服务器页面请求页面个人机1个人机N个人机2数据请求结果Web服务器浏览器浏览器浏览器14.2VisualBasic访问SQLServer数据库概述14.2.1VisualBasic访问SQLServer数据库的方式14.2.2VisualBasic中的数据库访问控件14.2.3使用ADO访问SQLServer数据库的一般步骤14.2.1VisualBasic访问SQLServer数据库的方式(1)DAO/Jet方式

(2)ODBCAPI编程方式(3)使用VBSQL对DBLibAPI编程(4)使用RDO对象(5)使用ADO对象14.2.2VisualBasic中的数据库访问控件这些控件分为两大类:一类是提供数据源的控件.例如Data控件、RemoteData控件(RDC)、ADOData控件等,它们用来快速建立到某个数据表或查询的连接;另一类是用来显示数据源内容的控件,例如DataGrid、DataList、DBGrid以及文本框例、复选框、组合框、图像、标签、列表框、图片框等“数据绑定控件”,这类控件通过DataSource属性连接到数据源,然后显示该数据源的内容,并允许用户对内容进行添、删、改、查等操作。

14.2.2VisualBasic中的数据库访问控件(1)ADOData控件ADO数据控件是目前流行的数据访问控件,它支持OLEDB数据访问模型。使用ADO数据访问控件,除了可以访问大型关系型数据库管理系统和小型个人数据库管理系统。ADO数据控件是ActiveX控件,需要手工将其添加到工具箱中。选择“工程”菜单下的“部件”Adodc控件在窗体上的形式在ADOData控件的属性窗口中,选择(自定义)属性后的‘…’按钮,打开”属性页”对话框.在”通用”页面中选择”使用ODBC数据资源名称”,并在下拉列表框中选择Mysql.单击”身份验证”选项卡,输入SA及密码.单击”记录源”选项卡,选择命令类型为8-adCmdUnknown,在命令文本中输入:SELECT*FROMXSORDERBYXH设置完成后单击”确定”按钮.ADO数据控件的主要属性、方法和事件ConnectionString属性

用于建立与数据源的连接CommandType属性

指明命令的类型,共有四种RecordSource属性

用于设置ADO结果集的内容MaxRecords属性

决定结果集中的记录的最大数目Recordset属性

用于存放从数据提供者那里获得的查询结果ConnectionString属性单击ADO数据控件属性页中的“ConnectionString”属性,然后单击按钮CommandType属性adCmdUnknown:默认值。表示RecordSource中的命令类型未知。adCmdTable:RecordSource属性的内容是一个表名。adCmdText:RecordSource属性的内容是一个查询语句文本串。adCmdStoredProc:RecordSource属性的内容是一个存储过程名。RecordSource属性用于设置ADO结果集的内容.这个内容可以来自于一张表,也可以来自一个查询语句,也可以来自一个存储过程的执行结果。RecordSource属性的值与CommandType属性的值有关,两者协同使用。设置RecordSource属性在已经设置好ConnectionString属性的ADO数据控件上右击鼠标,在弹出的菜单中选择“ADODC属性”命令,在弹出此对话框上选择“记录源”标签页。DataGrid控件(2)DataGrid控件ADOData控件本身都不能显示数据库记录,它们必须与“数据绑定控件”配合使用,才能在窗体中显示数据库记录的内容。DataGrid控件就是一种简单易用且功能强大的“数据绑定控件”。DataGrid控件具体方法是在VisualBasic主菜单中选择“工程/部件”命令,在部件对话框中找到MicrosoftDataGridControl6.0(OLEDB)一项并选中它,单击“确定”按钮之后,DataGrid控件就添加到VisualBasic的工具箱中了。DataGrid控件DataGrid控件的主要属性有:DataSource属性:设置与DataGrid关联的数据源。AllowAddNew属性:是否允许增加新记录。AllowDelete属性:是否允许删除记录。AllowUpdate属性:是否允许修改记录。AllowArrows属性:是否允许在运行时利用光标键来移动网格的输入焦点。14.2.3使用ADO访问SQLServer数据库ADO是VisualBasic访问数据库的主流技术。使用ADO访问SQLServer数据库有两种主要形式:ADOData控件(即ADODC)和ADO对象编程模型(即ADO代码)。这两种方式可以单独使用,也可以同时使用。14.2.3使用ADO访问SQLServer数据库(1)使用ADOData控件访问SQLServer数据库该方法优点是代码少,一个简单的数据库应用程序甚至可以不用编写任何代码。它的缺点是功能简单,不够灵活,不能满足较复杂的数据库应用程序的需要。见演示示例14.2.3使用ADO访问SQLServer数据库ADO数据控件是ActiveX控件,需要手工将其添加到工具箱中。选择“工程”菜单下的“部件”在ADOData控件的属性窗口中,选择(自定义)属性后的‘…’按钮,打开”属性页”对话框.在”通用”页面中选择”使用ODBC数据资源名称”,并在下拉列表框中选择Mysql.单击”身份验证”选项卡,输入SA及密码.单击”记录源”选项卡,选择命令类型为8-adCmdUnknown,在命令文本中输入:SELECT*FROMXSORDERBYXH设置完成后单击”确定”按钮.14.2.3使用ADO访问SQLServer数据库(2)使用ADO对象模型访问SQLServer数据库该方法的优点是具有高度的灵活性,可以编写复杂的数据库应用程序。它的缺点是代码编写量较大,对初学者来说有一定困难。使用ADO对象模型访问SQLServer数据库ADO对象模型各对象作用Connection对象包含了与数据源连接的信息。Command对象包含了与一个命令相关的信息。Recordset对象包含了从数据源得到的记录集。Field对象包含了记录集中的某个记录的字段信息。Property对象:ADO对象的属性。Parameter对象:与命令对象相关的参数。Error对象:包含了由数据源产生的Errors集合中的扩展的错误信息。见例题Connection对象表示一个OLEDB数据源的开放式连接。是ADO对象模型的基础。在使用ADO对象模型编程之前,必须先引用ADO对象模型。方法为:在VB的“工程”菜单下选择“引用”命令,然后在打开的窗口中选择“MicrosoftActiveXDataObjects2.×Library”选项(其中“×”代表机器上所安装的版本号)。Connection对象的主要属性ConnectionString用于指定连接到的数据源名称,使用方法及含义同ADO数据控件。Provider连接中使用的OLEDB提供者。ConnectionTimeout执行Open方法之后等待建立连接的秒数,默认为15秒。0表示无限期等待。State表示Connection对象是打开还是关闭的常量。Connection对象的主要方法Open:打开带有数据源的连接,即真正的建立起到数据源的物理连接。Close:关闭一个打开的与数据源的连接,即终止与数据源的连接。Execute:在没有创建Command对象的情况下执行连接中的一个命令。BeginTrans:开始一个事务。CommitTrans:

提交一个事务。RollbackTrans:回滚一个事务Connection对象的主要事件ExecuteComplete:连接中的命令被执行后发生的动作。BeginTransComplete:在BeginTrans方法完成后发生的动作。RollbackTransComplete:当RollbackTrans操作完成时发生的动作。WillConnect:在试图连接到数据源之前发生的动作。WillExecute:试图在连接中执行一条命令前发生的动作。Connection对象的主要集合ErrorsError对象的集合。Properties描述连接的Property对象集合。使用Connection对象(1)设置ConnectionString连接属性DimadoCnAsADODB.ConnectionSetadoCn=NewADODB.Connection'使用ODBC数据源连接数据库adoCn.ConnectionString="DNS=ODBC_DSN;UID=LoginID;PWD=password"'使用OLEDB提供者连接数据库adoCn.ConnectionString="Provider=SQLOLEDB.1;UserID=LoginID;InitialCatalog=Pubs;DataSource=DB_Server_Name"使用Connection对象(2)使用Open方法建立连接Open方法用于打开连接:adoCn.Open(3)使用Close方法断开连接

用于关闭一个打开的Connection对象,即断开与数据源的连接。adoCn.CloseCommand对象Command对象代表对数据源执行的命令。使用Command命令可以查询数据,并将查询结果返回给RecordSet对象。Command对象的主要属性ActiveConnection:指定当前使用的连接。CommandText:命令的文本表达(SQL语句、存储过程名和表名)。CommandType:指定要执行的命令的类型,与CommandText属性的内容对应。取值如下:CmdText:指定CommandText的内容是一个SQL语句。adCmdTable:指定CommandText的内容是一个表名。adCmdStoredProc:指定CommandText的内容是一个存储过程名。adCmdUnknown:默认值,表示命令类型未知。Command对象的主要属性CommandTimeout数据源作出响应的最长等待秒数。Name

表示Command对象的字符串。State

表示对象是打开、关闭、正在执行某一命令和获取记录时的状态常量,其取值同Connection对象的State属性。Command对象的主要方法

Excute

执行CommandText属性中指定的命令并返回由此生成的记录集。CreateParameter创建一个与命令相关的新的参数对象。Command对象的主要集合Parameters与Command对象相关的Parameter对象的集合。Properties描述Command对象相关的Property对象的集合。使用Command对象'声明对象DimadoCnAsADODB.ConnectionDimadoCmAsADODB.Command'建立连接SetadoCn=NewADODB.ConnectionadoCn.ConnectionString="Provider=SQLOLEDB.1;UserID=LoginID;"_&"InitialCatalog=pubs;DataSource=DB_Server_Name"adoCn.Open使用Command对象'执行命令SetadoCm=NewADODB.CommandSetadoCm.ActiveConnection=adoCnadoCm.CommandText="select*fromauthors"adoCm.Execute'使用Command对象名执行命令adoCm.Name="SelAuthors"SetadoCm.ActiveConnection=adoCnadoCm.CommandText="select*fromauthors"adoCn.SelAuthors'用名字执行命令Recordset对象代表从数据提供者那里获取的数据记录集。Recordset对象的主要功能包括:建立记录集;确定要操作的记录集中的记录;通过移动指针浏览记录;对记录集中的数据执行更改操作;对记录集中的数据进行过滤。Recordset对象的主要属性AbsolutePosition:记录集中当前记录的顺序位置。ActiveCommand:记录集中创建的命令。ActiveConnection:记录集中创建的连接。BOF:如果当前行移动到记录集的第一条记录的前边,则为真。EOF:如果当前行移动到记录集的最后一行记录的后边,则为真。Bookmark:记录集中当前记录的唯一标识。DataSource:指定要绑定的数据源。Recordset对象的主要属性EditMode:表示当前记录是否正在被编辑,这个值可以是adEditNone、adEditInProgress、adEditAdd和adEditDelete。Filter:允许用户选择记录集中的部分数据进行操作。其使用方法为:Recordset对象名.Filter=选择表达式其中“选择表达式”的写法同SELECT语句中的WHERE子句。释放过滤的语句为:Recordset对象名.Filter=adFilterNoneRecordset对象的主要属性MaxRecords:记录集中能返回的最多记录数。RecordCount:记录集中记录的个数。如果ADO不能判断记录集有多少条记录,可以返回adUnknown(-1)。Sort:将记录集按指定字段排序。Source:记录集来源的命令和SQL查询。CursorLocation:描述记录集中使用的游标的位置的常量。CursorType:描述记录集中使用的游标类型的常量。LockType:控制编辑过程中设置的加锁类型。Recordset对象的主要方法AddNew:向记录集中添加一条新记录。CancelUpdat:取消对数据的修改。Close:关闭记录集。Delete:删除当前记录。Find:查找符合某些规则的记录。 Move:将当前记录的位置移动一定的间隔。Recordset对象的主要方法

MoveFirst:移动到第一条记录。MoveLast:移动到最后一条记录MoveNext:移动到下一条记录。MovePrevious:移动到上一条记录Open:打开一个记录集。Update:当Edit和AddNew方法完成后要执行的方法。UpdateBatch:在一个游标中当批量处理完成后要执行的方法。Recordset对象的主要事件

EndOfRecordset当记录集中因没有更多的记录,而引起MoveNext方法执行失败时产生的事件。FieldChangeComplete

当字段中的值被改变后产生的事件。RecordsetChangeComplete当对记录集所做的修改被执行时产生的事件。Recordset对象的主要事件WillChangeField

一个Field对象的值被改变前产生的事件。WillChangeRecord

一个列被改变之前产生的事件。WillChangeRecordset

记录集中的修改都完成前产生的事件。WillMove

记录指针重新定位前产生的事件。Recordset对象的集合Recordset对象包含的集合是Fields,它是记录集中的字段集合。使用Recordset对象的步骤(1)打开记录集使用Command对象的Execute方法创建Recordset对象:SetadoRecordset=adoCommand.Execute使用Connection对象的Execute方法创建Recordset对象:SetadoRecordset=adoConnection.Execute("select*fromauthors")直接使用Recordset对象的Open方法创建Recordset对象:adoRecordset.OpenRecordset对象的Open方法语法格式为:Recordset.OpenSource,ActiveConnection,CursorType,LockType,Options所有这些选项都是可选的,可以在调用Open方法之前,通过设置这些选项对应的属性来设置其值。Source选项指定了要从哪里获取数据,其有:一个返回记录的Command对象。SQL语句。表名。存储过程名。Open方法的一些选项ActiveConnection选项指定了要使用的ADO连接,这个选项可以是一个已打开的Connection对象,也可以是一个连接字符串。Options选项为提供者提供了附加信息。这些选项包括:adCmdUnknown:默认值。不向提供者提供附加信息。adCmdText:告诉提供者CommandText属性是文本命令。adCmdTable:是表的名字。adCmdStoredProc:是存储过程名。adCmdFile:是一个文件名。Field对象Field对象表示记录集中数据的某个单独的列。一旦获得了记录集,通常接下来就是使用Fields集合来读取记录集中的数据。由于Fields集合是Recordset对象的默认属性,因此,在使用时可以省略此名称。例如:Recordset.Fields(0).ValueRecordset(0)Field对象的主要属性ActualSize

字段中实际存储的数据尺寸。DefinedSize

字段能存储的最大数据量。Name

字段的名称。NumericScale

十进制小数点右边的位数。Field对象的主要属性OriginalValue

在其他用户改变字段之前字段的值。Precision

十进制小数的精度。Type

描述字段的数据类型的常量。Value

字段中存储的数据。14.3用VisualBasic开发C/S结构的图书管理系统14.3.1需求分析14.3.2功能流程设计14.3.3数据库设计

14.3.4创建数据库14.3.5VisualBasic代码编写与调试14.3.6打包发行14.3.1需求分析运用VisualBasic语言和SQLServer2005数据库开发一个基于C/S结构的图书管理系统。使用该系统,图书管理员可以方便地对图书信息和读者信息进行管理;读者可以方便地查找自己想要的书籍。14.3.2功能流程设计(1)功能设计:本系统将根据角色分配权限,将整个系统分为两个子系统:管理员子系统和读者子系统(2)流程设计:系统使用同一的登录界面,根据用户输入的用户名和密码自动识别其身份是管理员还是读者,然后进入相应的子系统,并提供相应的功能服务。14.3.3数据库设计(1)E-R图和数据字典14.3.3数据库设计(2)数据表结构设计读者信息表的结构列名数据类型长度是否允许为空约束条件证号int20否主键

温馨提示

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

评论

0/150

提交评论