windows程序设计vb电子教案第16章_第1页
windows程序设计vb电子教案第16章_第2页
windows程序设计vb电子教案第16章_第3页
windows程序设计vb电子教案第16章_第4页
windows程序设计vb电子教案第16章_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、WINDOWS程序设计(VB)上海交通大学网络教育学院陈泽宇 博士、副教授2第0章 概述(补充) 第1章 绪论 第2章 创建第一个Windows应用程序第3章 数据类型、变量和表达式第4章 选择结构第5章 循环结构 第6章 数组 第7章 过程 第8章 类 第9章 菜单与图形 第10章 文件 第11章 Form窗体和对话框 第12章 Web编程基础第13章 初步第14章 Web控件 第15章 数据访问 第16章 初步 3第16章 初步16.1 简介16.2 在Visual Basic中访问数据库16.3 数据集16.4 修改和更新数据库16.5 综合示例:DataGrid(补充)416.1 简介

2、16.1.1 的工作原理(补充) 16.1.2 的优点5 是.NET平台内用于访问数据源的一组类 具有全新的对象模型,该模型使用XML作为主要的数据传输格式,同时它使得用户对无关联数据的操作变得更加简单比起ADO来说, 的主要优点在于:编程更简单、性能更高、伸缩性更强、对单个数据源特性的依赖更小,以及与其它平台的交互性更强616.1.1 的工作原理(补充)1. 数据提供程序(Data Provider) 2. 数据集(DataSet) 7 的两个核心组件数据提供程序(Data Provider)数据集(DataSet)81. 数据提供程序(Data Provider)设计目的:为了实现对数据的

3、快速访问包括Connection、Command、DataReader和DataAdapter对象.NET框架提供了4个数据提供程序SQL Server数据提供程序OLE DB数据提供程序ODBC数据提供程序Oracle数据提供程序9Connection对象提供与数据源的连接Command对象在用Connection对象成功连接数据库后,可以用Command对象对数据库进行操作,如对数据进行新增、删除、修改等DataReader对象从数据源中提供高性能的数据流10DataAdapter(数据适配器)对象提供连接DataSet对象和数据源的桥梁DataAdapter使用Command对象在数据源

4、中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致112. 数据集(DataSet)设计目的:为了实现独立于任何数据源的数据访问DataSet不是一个单独的表,而是一组包含了表结构数据的表,同时它还包括表之间的所有关系DataSet对象是一个存储在内存中的离线数据库,它并未与数据库建立即时的连接DataSet对象专门用来存储从数据源中读出的数据,无论是SQL Server数据库还是Access数据库,在DataSet中存储方式都是一致的,用户无法从DataSet中判断读取的数据库类型12通常在进行数据操作时,用户将来自数据库的数据填入DataS

5、et中,然后再对其进行操作当用户更改了数据并准备将更改结果发送回数据源时,DataSet可以一次性完成发送操作由于DataSet的智能化,只有数据中被更改的部分才会被发送回数据库1316.1.2 的优点1.可伸缩性如果用户使用DataSet对象,则 就是基于非连接数据访问,这表明使用数据库连接的时间比较短2.数据源独立性在 中,Recordset真正地独立于数据源143.协同性因为 使用XML作为其标准的数据传输格式,因此与之进行数据通信的软件无须是 的一个组件甚至不必基于Windows平台,而唯一的要求就是它能够兼容XML4.强大的分类字段5.性能6.防火墙因为 利用XML传输数据,所以数据

6、可以通过大多数防火墙1516.2 在Visual Basic中访问数据库16.2.1 Connection 对象(补充) 16.2.2 Command 对象(补充) 16.2.3 DataReader对象(补充) 16.2.4 完成dbTest2示例16当需要从VB访问数据库时,VB程序是数据库的客户端在访问数据库之前首先需要连接到数据库1716.2.1 Connection 对象(补充)要访问数据库,首先必须建立与数据库的连接使用Connection对象创建和管理连接SqlConnection对象管理与SQL Server数据库的连接OleDbConnection对象管理与可通过OLE DB

7、访问的任何数据存储区的连接OdbcConnection对象管理与通过使用连接字符串或ODBC数据源名称创建的数据源的连接OracleConnection对象管理与Oracle数据库的连接18连接字符串在建立连接时,通常要提供一些数据源的信息,如数据库的名称、数据库所在的物理位置、用户名、密码等通过Connection对象的ConnectionString属性来设置连接字符串19打开和关闭连接在对数据库实际操作之前,首先需要打开连接,使用完后应立即关闭,这是由Open和Close方法来完成的Open方法使用ConnectionString属性中的信息联系数据源并建立一个打开的连接Close方法关

8、闭连接如果正在使用DataAdapter或Command,则不必显式打开和关闭连接当调用这些对象的某个方法(例如DataAdapter的Fill或Update方法)时,该方法将检查连接是否已打开。如果没有,适配器将打开连接,执行其逻辑,然后再关闭连接2016.2.2 Command 对象(补充)实际对数据库的操作可以使用Command 对象来完成设置CommandText属性该属性是一个字符串,实际上就是一个完整的SQL语句例如: mandText = SELECT au_lname FROM authors21设置好CommandText属性后需要指出该对象使用哪个连接例如: mand.Co

9、nnection = sqlcnMyDB2216.2.3 DataReader对象(补充)如果不需要DataSet所提供的功能,则可以使用DataReader以只读方式返回数据因为节省了DataSet所使用的内存,并省去了创建DataSet并填充其内容所需的必要处理,所以可以提高应用程序的性能2316.3 数据集16.3.1 DataSet对象16.3.2 DataAdapter对象16.3.3 填充数据集24使用DataReader可以直接从数据库中读取数据,直接对数据库执行SQL语句,在此期间一直保持对数据库的连接然而,这并不是最好的方式25在 的构架下,并不以客户端/服务器的两层模式运作

10、,通常可以采用多层的方式对数据库操作,或者说 是面向非连接的简单地讲,可以将数据库的数据一次性地从数据库中取出来,存放在本地随后的操作都在本地进行,如对数据的修改、插入或删除等最后,在必要的时候,将修改后的数据全部写回到数据库中最大好处就是降低了数据库服务器的资源占用,减轻了数据库服务器的负担,同时也减少了网络负担2616.3.1 DataSet对象将数据库中的数据传输到本地后, 提供了DataSet对象来存储数据DataSet用来存储从数据库中检索的数据,并保存到客户机的内存中DataSet中的数据实际与数据库是断开的,可以独立于数据库来操作数据可以将DataSet看作是一个便携式的数据库同

11、时,DataSet对象也并不和任何一个底层数据库相关联,当需要从DataSet向数据库传出或传入数据时,需要使用DataAdapter(数据适配器)对象2716.3.2 DataAdapter对象DataAdapter像是数据源(数据库)和DataSet之间的桥梁DataAdapter类有几个属性代表单个的命令对象,如 mand、 mand、 mand等在将数据通过数据适配器传递时,数据适配器使用这些命令和数据库交换记录对数据适配器而言,最主要的问题是如何将数据映射到源数据库2816.3.3 填充数据集DataAdapter的主要方法是Fill,用来将来自DataAdapter中的数据填入Da

12、taSet中一旦将要使用的数据放到了DataSet中,就可以和数据库断开连接,以后对数据的操作,将在DataSet上进行2916.4 修改和更新数据库16.4.1 利用Visual Studio产生代码16.4.2 使用DataGrid显示数据16.4.3 数据的修改与更新30DataSet中的数据是在本地的,对数据的修改、插入或删除等操作将首先在DataSet中完成随后,在必要的时候,再一次性地向数据库更新所有的数据3116.4.1 利用Visual Studio产生代码对数据库的操作最简单的方式可能应该是将一个数据表直接由Visual Studio的服务器资源管理器拖动到Windows窗体

13、上此时,Visual Studio将在幕后自动产生相应的代码查看VB生成的代码,除了正确地设置了连接外,主要自动生成了DataAdapter的 mand、 mand、 mand和 mand属性的值3216.4.2 使用DataGrid显示数据有时需要将整个一张表同时显示出来,DataGrid控件可以完成这个功能,只需将DataGrid控件和一个DataSet绑定即可也就是说当DataSet改变时,DataGrid会反映这种变化,同时,在DataGrid中做的修改也会反映给DataSet要将DataGrid和DataSet绑定,只需正确设置DataGrid的DataSource属性和DataMe

14、mber属性3316.4.3 数据的修改与更新在DataGrid可以直接对数据进行操作可以调用DataAdapter的Update方法更新数据库3416.5 综合示例:DataGrid(补充)通过DataGrid控件访问、修改“通信录.mdb”参见:Windows 窗体中的简单数据访问35实现步骤1. 创建数据连接和数据适配器2. 生成数据集3. 添加并绑定DataGrid控件4. 填充数据集(按钮btnLoad)5. 更新数据库(按钮btnUpdate)361. 创建数据连接和数据适配器工具箱数据添加OleDbDataAdapter,“数据适配器配置向导”将自动启动选择“Microsoft

15、Jet 4.0 OLE DB Provider”作为提供程序,选择指向“通信录.mdb”数据库的连接,从而建立连接指定“使用 SQL 语句”来访问数据库通过“查询生成器”生成SQL语句最终获得数据连接OleDbConnectionMyDB和数据适配器OleDbDataAdapterMyDB372. 生成数据集鼠标右击OleDbDataAdapter,选择“生成数据集”,获得数据集DataSetMyDB383. 添加并绑定DataGrid控件工具箱添加DataGridDataGrid的DataSource属性设为“DataSetMyDB”,DataMember属性设为“通信录表”394. 填充数据集(按钮btnLoad)OleDbDataAdapterMyDB.Fill(DataSetMyDB)405. 更新数据库(按钮btnUpdate)OleDbDataAdapterMyDB.Update(DataSetMyDB)41事件处理代码Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click DataSetMyD

温馨提示

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

评论

0/150

提交评论