第14章 用VB进行CS结构数据库应用程序开发_第1页
第14章 用VB进行CS结构数据库应用程序开发_第2页
第14章 用VB进行CS结构数据库应用程序开发_第3页
第14章 用VB进行CS结构数据库应用程序开发_第4页
第14章 用VB进行CS结构数据库应用程序开发_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统原理数据库系统原理与应用技术与应用技术主讲:陈漫红主讲:陈漫红 北京联合大学师范学院北京联合大学师范学院 电气信息系电气信息系第第14章章 用用VB进行进行C/S结构数据库开发结构数据库开发 n14.1 C/S体系结构介绍体系结构介绍n14.2 Visual Basic访问访问SQL Server数据数据库概述库概述n14.3 用用Visual Basic开发开发C/S结构的图书结构的图书管理系统管理系统 n14.4 本章小结本章小结14.1 C/S体系结构介绍体系结构介绍 n数据库应用结构是指数据库运行的软、硬件环境。通过这个环境,用户可以访问数据库中的数据。n四种最常见的应用结构

2、:n集中式结构n文件服务器结构n客户/服务器结构n互联网应用结构集中式应用结构优点是可以实现集中管理,安全性好。缺点是费用昂贵,不能真正划分应用程序的逻辑。 应用程序数据库大型机按键信息终端字符终端1终端N终端2客户端文件服务器结构优点在于实现的费用比较低廉,而且配置非常灵活。缺点是,由于所有的应用处理都要在客户端完成,要经常在网络上传送大量无用的数据.因此客户端的个人计算机必须要有足够的能力。例如Foxpro.应用程序数据库网络文件服务器文件文件请求工作站1工作站N工作站2客户端应用程序应用程序客户/服务器结构n优点:应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中,在完成一个特定任

3、务时,客户端工作站上的程序和服务器上的程序可以协同工作,同时极大地减少了网络流量。 应用程序数据库服务器数据请求结果工作站1工作站N工作站2客户端应用程序应用程序互联网应用结构优点:最终用户应用软件的安装和维护都非常简单,客户端不再需要安装、配置应用软件的工作。这些工作只需在Web服务器上完成,从而减少客户端与服务器端软件配置的不一致以及不同版本应用软件所带来的问题。客户端应用程序数据库数据库服务器页 面 请求页面个人机1个人机N个人机2数据请求结果Web服务器浏览器浏览器浏览器14.2 Visual Basic访问访问SQL Server数据库概述数据库概述n14.2.1 Visual Ba

4、sic 访问SQL Server数据库的方式 n14.2.2 Visual Basic 中的数据库访问控件n14.2.3 使用ADO访问SQL Server数据库的一般步骤 14.2.1 Visual Basic 访问SQL Server数据库的方式 (1)DAO/Jet方式方式 (2)ODBC API编程方式 (3)使用VBSQL对DBLib API编程 (4)使用RDO对象(5)使用ADO对象 14.2.2 Visual Basic 中的数据库访问控件 这些控件分为两大类:n一类是提供数据源的控件.例如Data控件、Remote Data 控件(RDC)、ADO Data控件等,它们用来快

5、速建立到某个数据表或查询的连接;n另一类是用来显示数据源内容的控件,例如DataGrid、DataList、DBGrid以及文本框例、复选框、组合框、图像、标签、列表框、图片框等 “数据绑定控件” ,这类控件通过DataSource属性连接到数据源,然后显示该数据源的内容,并允许用户对内容进行添、删、改、查等操作。 14.2.2 Visual Basic 中的数据库访问控件(1)ADO Data控件控件nADO数据控件是目前流行的数据访问控件,它支持OLE DB数据访问模型。n使用ADO数据访问控件,除了可以访问大型关系型数据库管理系统和小型个人数据库管理系统。nADO数据控件是ActiveX

6、控件,需要手工将其添加到工具箱中。n选择“工程”菜单下的“部件”Adodc控件在窗体上的形式n在ADO Data控件的属性窗口中,选择(自定义)属性后的按钮,打开”属性页”对话框.在”通用”页面中选择”使用ODBC数据资源名称”,并在下拉列表框中选择Mysql.单击”身份验证”选项卡,输入SA及密码.单击”记录源”选项卡,选择命令类型为8-adCmdUnknown,在命令文本中输入:SELECT * FROM XS ORDER BY XHn设置完成后单击”确定”按钮.ADO数据控件的主要属性、方法和事件nConnectionString属性 n用于建立与数据源的连接 nCommandType属

7、性 n指明命令的类型,共有四种 nRecordSource属性 n用于设置ADO结果集的内容 nMaxRecords属性 n决定结果集中的记录的最大数目 nRecordset属性 n用于存放从数据提供者那里获得的查询结果 ConnectionString属性n单击ADO数据控件属性页中的“ConnectionString”属性,然后单击 按钮CommandType属性nadCmdUnknown:默认值。表示RecordSource中的命令类型未知。nadCmdTable:RecordSource属性的内容是一个表名。nadCmdText:RecordSource属性的内容是一个查询语句文本串。

8、nadCmdStoredProc:RecordSource属性的内容是一个存储过程名。RecordSource属性n用于设置ADO结果集的内容.n这个内容可以来自于一张表,也可以来自一个查询语句,也可以来自一个存储过程的执行结果。nRecordSource属性的值与CommandType属性的值有关,两者协同使用。设置RecordSource属性n在已经设置好ConnectionString属性的ADO数据控件上右击鼠标,在弹出的菜单中选择“ADODC属性”命令,在弹出此对话框上选择“记录源”标签页。DataGrid控件控件(2)DataGrid控件控件ADO Data控件本身都不能显示数据库

9、记录,控件本身都不能显示数据库记录,它们必须与它们必须与“数据绑定控件数据绑定控件”配合使用,才配合使用,才能 在 窗 体 中 显 示 数 据 库 记 录 的 内 容 。能 在 窗 体 中 显 示 数 据 库 记 录 的 内 容 。DataGrid控件就是一种简单易用且功能强大控件就是一种简单易用且功能强大的的“数据绑定控件数据绑定控件”。DataGrid控件控件n具体方法是在Visual Basic主菜单中选择“工程部件”命令,在部件对话框中找到Microsoft DataGrid Control 6.0 (OLE DB) 一项并选中它,单击“确定”按钮之后,DataGrid控件就添加到Vi

10、sual Basic的工具箱中了。 DataGrid控件控件DataGrid控件的主要属性有:nDataSource属性:设置与DataGrid关联的数据源。nAllowAddNew属性:是否允许增加新记录。nAllowDelete属性:是否允许删除记录。nAllowUpdate属性:是否允许修改记录。nAllowArrows属性:是否允许在运行时利用光标键来移动网格的输入焦点。14.2.3 使用ADO访问SQL Server数据库nADO是Visual Basic访问数据库的主流技术。使用ADO访问SQL Server数据库有两种主要形式:ADO Data控件(即ADODC)和ADO对象编程

11、模型(即ADO代码)。这两种方式可以单独使用,也可以同时使用。14.2.3 使用ADO访问SQL Server数据库(1)使用ADO Data控件访问SQL Server数据库 该方法优点是代码少,一个简单的数据库应用程序甚至可以不用编写任何代码。它的缺点是功能简单,不够灵活,不能满足较复杂的数据库应用程序的需要。见演示示例14.2.3 使用ADO访问SQL Server数据库nADO数据控件是ActiveX控件,需要手工将其添加到工具箱中。n选择“工程”菜单下的“部件”n在ADO Data控件的属性窗口中,选择(自定义)属性后的按钮,打开”属性页”对话框.在”通用”页面中选择”使用ODBC数

12、据资源名称”,并在下拉列表框中选择Mysql.单击”身份验证”选项卡,输入SA及密码.单击”记录源”选项卡,选择命令类型为8-adCmdUnknown,在命令文本中输入:SELECT * FROM XS ORDER BY XHn设置完成后单击”确定”按钮.14.2.3 使用ADO访问SQL Server数据库(2)使用ADO对象模型访问SQL Server数据库 该方法的优点是具有高度的灵活性,可以编写复杂的数据库应用程序。它的缺点是代码编写量较大,对初学者来说有一定困难。使用ADO对象模型访问SQL Server数据库ADO对象模型对象模型 Connection Errors Error C

13、ommand Parameters Parameter Recordset Fields Field Record Fields Field Stream 各对象作用nConnection对象包含了与数据源连接的信息。nCommand对象包含了与一个命令相关的信息。nRecordset对象包含了从数据源得到的记录集。nField对象包含了记录集中的某个记录的字段信息。nProperty对象:ADO对象的属性。nParameter对象:与命令对象相关的参数。nError对象:包含了由数据源产生的Errors集合中的扩展的错误信息。n见例题Connection对象n表示一个OLE DB数据源的开放

14、式连接。 n是ADO对象模型的基础。 n在使用ADO对象模型编程之前,必须先引用ADO对象模型。方法为:在VB的“工程”菜单下选择“引用”命令,然后在打开的窗口中选择“Microsoft ActiveX Data Objects 2. Library”选项(其中“”代表机器上所安装的版本号)。Connection对象的主要属性对象的主要属性nConnectionString 用于指定连接到的数据源名称,使用方法及含义同ADO数据控件。nProvider 连接中使用的OLE DB提供者。nConnectionTimeout 执行Open方法之后等待建立连接的秒数,默认为15秒。0表示无限期等待。

15、nState 表示Connection对象是打开还是关闭的常量。Connection对象的主要方法对象的主要方法nOpen:打开带有数据源的连接,即真正的建立起到数据源的物理连接。nClose:关闭一个打开的与数据源的连接,即终止与数据源的连接。nExecute:在没有创建Command对象的情况下执行连接中的一个命令。nBeginTrans:开始一个事务。nCommitTrans: 提交一个事务。nRollbackTrans:回滚一个事务Connection对象的主要事件对象的主要事件nExecuteComplete:连接中的命令被执行后发生的动作。nBeginTransComplete:在

16、BeginTrans方法完成后发生的动作。nRollbackTransComplete:当RollbackTrans操作完成时发生的动作。nWillConnect:在试图连接到数据源之前发生的动作。nWillExecute:试图在连接中执行一条命令前发生的动作。Connection对象的主要集合对象的主要集合nErrors Error对象的集合。nProperties 描述连接的Property对象集合。使用Connection对象(1)设置ConnectionString连接属性Dim adoCn As ADODB.ConnectionSet adoCn = New ADODB.Connec

17、tion使用ODBC数据源连接数据库adoCn.ConnectionString = DNS=ODBC_DSN;UID = LoginID; PWD= password使用OLE DB提供者连接数据库adoCn.ConnectionString = Provider=SQLOLEDB.1;User ID=LoginID; Initial Catalog=Pubs;Data Source=DB_Server_Name使用Connection对象(2)使用Open方法建立连接Open方法用于打开连接:adoCn.Open(3)使用Close方法断开连接 用于关闭一个打开的Connection对象,

18、即断开与数据源的连接。 adoCn.CloseCommand对象nCommand对象代表对数据源执行的命令。n使用Command命令可以查询数据,并将查询结果返回给RecordSet对象。Command对象的主要属性对象的主要属性nActiveConnection:指定当前使用的连接。nCommandText:命令的文本表达(SQL语句、存储过程名和表名)。nCommandType:指定要执行的命令的类型,与CommandText属性的内容对应。取值如下:nCmdText:指定CommandText的内容是一个SQL语句。nadCmdTable:指定CommandText的内容是一个表名。na

19、dCmdStoredProc:指定CommandText的内容是一个存储过程名。nadCmdUnknown:默认值,表示命令类型未知。Command对象的主要属性对象的主要属性nCommandTimeout数据源作出响应的最长等待秒数。 nName表示Command对象的字符串。nState表示对象是打开、关闭、正在执行某一命令和获取记录时的状态常量,其取值同Connection对象的State属性。Command对象的主要方法对象的主要方法 nExcute执行CommandText属性中指定的命令并返回由此生成的记录集。nCreateParameter 创建一个与命令相关的新的参数对象。Co

20、mmand对象的主要集合对象的主要集合nParameters与Command对象相关的Parameter对象的集合。nProperties描述Command对象相关的Property对象的集合。 使用Command对象声明对象Dim adoCn As ADODB.ConnectionDim adoCm As ADODB.Command建立连接Set adoCn = New ADODB.ConnectionadoCn.ConnectionString = Provider=SQLOLEDB.1;User ID=LoginID; _ & Initial Catalog=pubs;Data

21、Source=DB_Server_NameadoCn.Open使用Command对象执行命令Set adoCm = New ADODB.CommandSet adoCm.ActiveConnection = adoCnadoCm.CommandText = select * from authorsadoCm.Execute使用Command对象名执行命令adoCm.Name = SelAuthorsSet adoCm.ActiveConnection = adoCnadoCm.CommandText = select * from authorsadoCn.SelAuthors 用名字执行命

22、令Recordset对象n代表从数据提供者那里获取的数据记录集。 nRecordset对象的主要功能包括:n建立记录集;n确定要操作的记录集中的记录;n通过移动指针浏览记录;n对记录集中的数据执行更改操作;n对记录集中的数据进行过滤。Recordset对象的主要属性对象的主要属性nAbsolutePosition:记录集中当前记录的顺序位置。nActiveCommand:记录集中创建的命令。nActiveConnection:记录集中创建的连接。nBOF:如果当前行移动到记录集的第一条记录的前边,则为真。nEOF:如果当前行移动到记录集的最后一行记录的后边,则为真。nBookmark:记录集中

23、当前记录的唯一标识。nDataSource:指定要绑定的数据源。Recordset对象的主要属性对象的主要属性nEditMode:表示当前记录是否正在被编辑,这个值可以是adEditNone、adEditInProgress、adEditAdd和adEditDelete。nFilter:允许用户选择记录集中的部分数据进行操作。其使用方法为:RecordsetRecordset对象名对象名.Filter = .Filter = 选择表达式选择表达式其中“选择表达式”的写法同SELECT语句中的WHERE子句。释放过滤的语句为:RecordsetRecordset对象名对象名.Filter = a

24、dFilterNone.Filter = adFilterNoneRecordset对象的主要属性对象的主要属性nMaxRecordsMaxRecords:记录集中能返回的最多记录数。:记录集中能返回的最多记录数。nRecordCountRecordCount:记录集中记录的个数。如果:记录集中记录的个数。如果ADOADO不能判断记录集有多少条记录,可以返回不能判断记录集有多少条记录,可以返回adUnknown(-1)adUnknown(-1)。nSortSort:将记录集按指定字段排序。:将记录集按指定字段排序。nSourceSource:记录集来源的命令和:记录集来源的命令和SQLSQL查

25、询。查询。nCursorLocationCursorLocation:描述记录集中使用的游标的:描述记录集中使用的游标的位置的常量。位置的常量。nCursorTypeCursorType:描述记录集中使用的游标类型的:描述记录集中使用的游标类型的常量。常量。nLockTypeLockType:控制编辑过程中设置的加锁类型。:控制编辑过程中设置的加锁类型。Recordset对象的主要方法对象的主要方法nAddNew:向记录集中添加一条新记录。nCancelUpdat:取消对数据的修改。nClose:关闭记录集。nDelete:删除当前记录。nFind:查找符合某些规则的记录。nMove:将当前记

26、录的位置移动一定的间隔。Recordset对象的主要方法对象的主要方法 nMoveFirst:移动到第一条记录。nMoveLast:移动到最后一条记录nMoveNext:移动到下一条记录。nMovePrevious:移动到上一条记录nOpen:打开一个记录集。nUpdate:当Edit和AddNew方法完成后要执行的方法。nUpdateBatch:在一个游标中当批量处理完成后要执行的方法。Recordset对象的主要事件对象的主要事件 nEndOfRecordset 当记录集中因没有更多的记录,而引起MoveNext方法执行失败时产生的事件。nFieldChangeComplete 当字段中的

27、值被改变后产生的事件。nRecordsetChangeComplete当对记录集所做的修改被执行时产生的事件。Recordset对象的主要事件对象的主要事件nWillChangeField一个Field对象的值被改变前产生的事件。nWillChangeRecord一个列被改变之前产生的事件。nWillChangeRecordset记录集中的修改都完成前产生的事件。nWillMove记录指针重新定位前产生的事件。 Recordset对象的集合对象的集合nRecordset对象包含的集合是Fields,它是记录集中的字段集合。使用Recordset对象的步骤(1)打开记录集)打开记录集n使用使用C

28、ommand对象的对象的Execute方法创建方法创建Recordset对象:对象:Set adoRecordset = adoCommand.Executen使用使用Connection对象的对象的Execute方法创建方法创建Recordset对象:对象:Set adoRecordset = adoConnection.Execute(select * from authors)n直接使用直接使用Recordset对象的对象的Open方法创建方法创建Recordset对象:对象:adoRecordset.OpenRecordset对象的Open方法n语法格式为: Recordset.Ope

29、n Source, ActiveConnection, CursorType, LockType, Optionsn所有这些选项都是可选的,可以在调用Open方法之前,通过设置这些选项对应的属性来设置其值。nSource选项指定了要从哪里获取数据,其有:n一个返回记录的Command对象。nSQL语句。n表名。n存储过程名。Open方法的一些选项nActiveConnection选项指定了要使用的ADO连接,这个选项可以是一个已打开的Connection对象,也可以是一个连接字符串。 nOptions选项为提供者提供了附加信息。这些选项包括:nadCmdUnknown:默认值。不向提供者提供附

30、加信息。nadCmdText:告诉提供者CommandText属性是文本命令。nadCmdTable:是表的名字。nadCmdStoredProc:是存储过程名。nadCmdFile:是一个文件名。 Field对象nField对象表示记录集中数据的某个单独的列。n一旦获得了记录集,通常接下来就是使用Fields集合来读取记录集中的数据。n由于Fields集合是Recordset对象的默认属性,因此,在使用时可以省略此名称。例如:Recordset.Fields(0).ValueRecordset(0) Field对象的主要属性对象的主要属性nActualSize字段中实际存储的数据尺寸。nDe

31、finedSize字段能存储的最大数据量。nName字段的名称。nNumericScale十进制小数点右边的位数。Field对象的主要属性对象的主要属性nOriginalValue在其他用户改变字段之前字段的值。nPrecision十进制小数的精度。nType描述字段的数据类型的常量。nValue字段中存储的数据。14.3 用用Visual Basic开发开发C/S结构的图结构的图书管理系统书管理系统n14.3.1 需求分析需求分析n14.3.2 功能流程设计功能流程设计 n14.3.3 数据库设计数据库设计 n14.3.4 创建数据库创建数据库n14.3.5 Visual Basic代码编写

32、与调试代码编写与调试n14.3.6 打包发行打包发行 14.3.1 需求分析需求分析n运用Visual Basic语言和SQL Server2005数据库开发一个基于C/S结构的图书管理系统。使用该系统,图书管理员可以方便地对图书信息和读者信息进行管理;读者可以方便地查找自己想要的书籍。14.3.2 功能流程设计功能流程设计n(1)功能设计:本系统将根据角色分配权限,将整个系统分为两个子系统:管理员子系统和读者子系统 图书信息管理 新书入库 某本图书 全部图书 管理员子系统 图书查询 图书修改 图书注销 读者信息管理 读者登记 某位读者 全部读者 读者查询 读者修改 读者注销 读者子系统 图书管理系统 某本图书 全部图书 图书查询 n(2)流程设计 :系统使用同一的登录界面,根据用户输入的用户名和密码自动识别其身份是管理员还是读者,然后进入相应的子系统,并提供相应的功能服务。 开始 登录和身份识别 管理员 进入管理员子系统 管理图书信息 管理读者信息 结束 结束 读者 进入读者子系统 查询图书信息 结束 14.3.3 数据库设计数据库设计(1)E-R图和数据字典 书号 书名 作者 责任编辑 字数 页数 定价 库存量 出版时间 主题分

温馨提示

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

评论

0/150

提交评论