《第14章 用VB进行CS结构数据库应用程序开发》由会员分享,可在线阅读,更多相关《第14章 用VB进行CS结构数据库应用程序开发(69页珍藏版)》请在金锄头文库上搜索。
1、数据库系统原理与应用技术 主讲 陈漫红chmh1 北京联合大学师范学院电气信息系 1 第14章用VB进行C S结构数据库开发 14 1C S体系结构介绍14 2VisualBasic访问SQLServer数据库概述14 3用VisualBasic开发C S结构的图书管理系统14 4本章小结 2 14 1C S体系结构介绍 数据库应用结构是指数据库运行的软 硬件环境 通过这个环境 用户可以访问数据库中的数据 四种最常见的应用结构 集中式结构文件服务器结构客户 服务器结构互联网应用结构 3 集中式应用结构 优点是可以实现集中管理 安全性好 缺点是费用昂贵 不能真正划分应用程序的逻辑 4 文件服务器
2、结构 优点在于实现的费用比较低廉 而且配置非常灵活 缺点是 由于所有的应用处理都要在客户端完成 要经常在网络上传送大量无用的数据 因此客户端的个人计算机必须要有足够的能力 例如Foxpro 5 客户 服务器结构 优点 应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中 在完成一个特定任务时 客户端工作站上的程序和服务器上的程序可以协同工作 同时极大地减少了网络流量 6 互联网应用结构 优点 最终用户应用软件的安装和维护都非常简单 客户端不再需要安装 配置应用软件的工作 这些工作只需在Web服务器上完成 从而减少客户端与服务器端软件配置的不一致以及不同版本应用软件所带来的问题 7 14 2
3、VisualBasic访问SQLServer数据库概述 14 2 1VisualBasic访问SQLServer数据库的方式14 2 2VisualBasic中的数据库访问控件14 2 3使用ADO访问SQLServer数据库的一般步骤 8 14 2 1VisualBasic访问SQLServer数据库的方式 1 DAO Jet方式 2 ODBCAPI编程方式 3 使用VBSQL对DBLibAPI编程 4 使用RDO对象 5 使用ADO对象 9 14 2 2VisualBasic中的数据库访问控件 这些控件分为两大类 一类是提供数据源的控件 例如Data控件 RemoteData控件 RDC
4、ADOData控件等 它们用来快速建立到某个数据表或查询的连接 另一类是用来显示数据源内容的控件 例如DataGrid DataList DBGrid以及文本框例 复选框 组合框 图像 标签 列表框 图片框等 数据绑定控件 这类控件通过DataSource属性连接到数据源 然后显示该数据源的内容 并允许用户对内容进行添 删 改 查等操作 10 14 2 2VisualBasic中的数据库访问控件 1 ADOData控件ADO数据控件是目前流行的数据访问控件 它支持OLEDB数据访问模型 使用ADO数据访问控件 除了可以访问大型关系型数据库管理系统和小型个人数据库管理系统 ADO数据控件是Act
5、iveX控件 需要手工将其添加到工具箱中 选择 工程 菜单下的 部件 11 Adodc控件在窗体上的形式 在ADOData控件的属性窗口中 选择 自定义 属性后的 按钮 打开 属性页 对话框 在 通用 页面中选择 使用ODBC数据资源名称 并在下拉列表框中选择Mysql 单击 身份验证 选项卡 输入SA及密码 单击 记录源 选项卡 选择命令类型为8 adCmdUnknown 在命令文本中输入 SELECT FROMXSORDERBYXH设置完成后单击 确定 按钮 12 ADO数据控件的主要属性 方法和事件 ConnectionString属性用于建立与数据源的连接CommandType属性指明
6、命令的类型 共有四种RecordSource属性用于设置ADO结果集的内容MaxRecords属性决定结果集中的记录的最大数目Recordset属性用于存放从数据提供者那里获得的查询结果 13 ConnectionString属性 单击ADO数据控件属性页中的 ConnectionString 属性 然后单击按钮 14 CommandType属性 adCmdUnknown 默认值 表示RecordSource中的命令类型未知 adCmdTable RecordSource属性的内容是一个表名 adCmdText RecordSource属性的内容是一个查询语句文本串 adCmdStoredPr
7、oc RecordSource属性的内容是一个存储过程名 15 RecordSource属性 用于设置ADO结果集的内容 这个内容可以来自于一张表 也可以来自一个查询语句 也可以来自一个存储过程的执行结果 RecordSource属性的值与CommandType属性的值有关 两者协同使用 16 设置RecordSource属性 在已经设置好ConnectionString属性的ADO数据控件上右击鼠标 在弹出的菜单中选择 ADODC属性 命令 在弹出此对话框上选择 记录源 标签页 17 DataGrid控件 2 DataGrid控件ADOData控件本身都不能显示数据库记录 它们必须与 数据绑
8、定控件 配合使用 才能在窗体中显示数据库记录的内容 DataGrid控件就是一种简单易用且功能强大的 数据绑定控件 18 DataGrid控件 具体方法是在VisualBasic主菜单中选择 工程 部件 命令 在部件对话框中找到MicrosoftDataGridControl6 0 OLEDB 一项并选中它 单击 确定 按钮之后 DataGrid控件就添加到VisualBasic的工具箱中了 19 DataGrid控件 DataGrid控件的主要属性有 DataSource属性 设置与DataGrid关联的数据源 AllowAddNew属性 是否允许增加新记录 AllowDelete属性 是否
9、允许删除记录 AllowUpdate属性 是否允许修改记录 AllowArrows属性 是否允许在运行时利用光标键来移动网格的输入焦点 20 14 2 3使用ADO访问SQLServer数据库 ADO是VisualBasic访问数据库的主流技术 使用ADO访问SQLServer数据库有两种主要形式 ADOData控件 即ADODC 和ADO对象编程模型 即ADO代码 这两种方式可以单独使用 也可以同时使用 21 14 2 3使用ADO访问SQLServer数据库 1 使用ADOData控件访问SQLServer数据库该方法优点是代码少 一个简单的数据库应用程序甚至可以不用编写任何代码 它的缺点
10、是功能简单 不够灵活 不能满足较复杂的数据库应用程序的需要 见演示示例 22 14 2 3使用ADO访问SQLServer数据库 ADO数据控件是ActiveX控件 需要手工将其添加到工具箱中 选择 工程 菜单下的 部件 在ADOData控件的属性窗口中 选择 自定义 属性后的 按钮 打开 属性页 对话框 在 通用 页面中选择 使用ODBC数据资源名称 并在下拉列表框中选择Mysql 单击 身份验证 选项卡 输入SA及密码 单击 记录源 选项卡 选择命令类型为8 adCmdUnknown 在命令文本中输入 SELECT FROMXSORDERBYXH设置完成后单击 确定 按钮 23 14 2
11、3使用ADO访问SQLServer数据库 2 使用ADO对象模型访问SQLServer数据库该方法的优点是具有高度的灵活性 可以编写复杂的数据库应用程序 它的缺点是代码编写量较大 对初学者来说有一定困难 24 使用ADO对象模型访问SQLServer数据库 ADO对象模型 25 各对象作用 Connection对象包含了与数据源连接的信息 Command对象包含了与一个命令相关的信息 Recordset对象包含了从数据源得到的记录集 Field对象包含了记录集中的某个记录的字段信息 Property对象 ADO对象的属性 Parameter对象 与命令对象相关的参数 Error对象 包含了由数
12、据源产生的Errors集合中的扩展的错误信息 见例题 26 Connection对象 表示一个OLEDB数据源的开放式连接 是ADO对象模型的基础 在使用ADO对象模型编程之前 必须先引用ADO对象模型 方法为 在VB的 工程 菜单下选择 引用 命令 然后在打开的窗口中选择 MicrosoftActiveXDataObjects2 Library 选项 其中 代表机器上所安装的版本号 27 Connection对象的主要属性 ConnectionString用于指定连接到的数据源名称 使用方法及含义同ADO数据控件 Provider连接中使用的OLEDB提供者 ConnectionTimeou
13、t执行Open方法之后等待建立连接的秒数 默认为15秒 0表示无限期等待 State表示Connection对象是打开还是关闭的常量 28 Connection对象的主要方法 Open 打开带有数据源的连接 即真正的建立起到数据源的物理连接 Close 关闭一个打开的与数据源的连接 即终止与数据源的连接 Execute 在没有创建Command对象的情况下执行连接中的一个命令 BeginTrans 开始一个事务 CommitTrans 提交一个事务 RollbackTrans 回滚一个事务 29 Connection对象的主要事件 ExecuteComplete 连接中的命令被执行后发生的动作
14、 BeginTransComplete 在BeginTrans方法完成后发生的动作 RollbackTransComplete 当RollbackTrans操作完成时发生的动作 WillConnect 在试图连接到数据源之前发生的动作 WillExecute 试图在连接中执行一条命令前发生的动作 30 Connection对象的主要集合 ErrorsError对象的集合 Properties描述连接的Property对象集合 31 使用Connection对象 1 设置ConnectionString连接属性DimadoCnAsADODB ConnectionSetadoCn NewADODB
15、 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 32 使用Connection对象 2 使用Open方法建立连接Open方法用于打开连接 adoCn Open 3 使用Close方法断开连接用于关闭一个打开的Connection对象 即
16、断开与数据源的连接 adoCn Close 33 Command对象 Command对象代表对数据源执行的命令 使用Command命令可以查询数据 并将查询结果返回给RecordSet对象 34 Command对象的主要属性 ActiveConnection 指定当前使用的连接 CommandText 命令的文本表达 SQL语句 存储过程名和表名 CommandType 指定要执行的命令的类型 与CommandText属性的内容对应 取值如下 CmdText 指定CommandText的内容是一个SQL语句 adCmdTable 指定CommandText的内容是一个表名 adCmdStoredProc 指定CommandText的内容是一个存储过程名 adCmdUnknown 默认值 表示命令类型未知 35 Command对象的主要属性 CommandTimeout数据源作出响应的最长等待秒数 Name表示Command对象的字符串 State表示对象是打开 关闭 正在执行某一命令和获取记录时的状态常量 其取值同Connection对象的State属性 36 Command对象的主要