数据库应用程序开发.ppt

上传人:sh****n 文档编号:9064011 上传时间:2020-04-02 格式:PPT 页数:46 大小:792KB
返回 下载 相关 举报
数据库应用程序开发.ppt_第1页
第1页 / 共46页
数据库应用程序开发.ppt_第2页
第2页 / 共46页
数据库应用程序开发.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
第十一章数据库应用程序开发 VB NET程序设计 主讲教师 黄超男email huangchaonan2004 第2页 本章内容 11 1数据库基础知识11 2ADO NET的使用11 3数据绑定11 4DataGrid控件11 5DataFormWizard创建数据库说明 本章内容较复杂 较抽象 较复杂 为了方便大家掌握精髓 课件中我加了 的地方 是要求大家重点掌握的 第3页 学习目标 数据库基础知识使用ADO NET及常用对象数据绑定DataGrid的属性及方法使用数据窗体向导 第4页 11 1数据库基础知识 本节知识请大家回去复习SQLServer2000 在此不重复介绍 第5页 11 2ADO NET的使用 ADO NET是美国微软公司最新推出的 由ADO MicrosoftActiveXDataObjects 演变而来的数据访问技术 ADO NET提供了一组 NET类 这些类不仅有助于实现对各种数据源进行高效访问 使用户能够对数据进行复杂的操作和排序 而且形成了一个重要的框架 在这个框架中可以实现应用程序之间的通信和XMLWeb服务 ADO NET具有全新的对象模型 该模型使用XML作为主要的数据传输格式 同时它使得用户对无关联数据的操作变得更加简单比起ADO来说 ADO NET的主要优点在于 编程更简单 性能更高 伸缩性更强 对单个数据源特性的依赖更小 以及与其它平台的交互性更强 第6页 一 ADO NET的工作原理 ADO NET的两个核心组件数据提供程序 DataProvider 数据集 DataSet 第7页 1 NET的数据提供程序 设计目的 为了实现对数据的快速访问 NET框架提供了4个数据提供程序SQLServer数据提供程序OLEDB数据提供程序ODBC数据提供程序Oracle数据提供程序包括4个对象 Connection Command DataReader和DataAdapter对象 第8页 Connection对象提供与数据源的连接Command对象在用Connection对象成功连接数据库后 可以用Command对象对数据库进行操作 如对数据进行新增 删除 修改等DataReader对象从数据源中提供高性能的数据流DataAdapter 数据适配器 对象提供连接DataSet对象和数据源的桥梁DataAdapter使用Command对象在数据源中执行SQL命令 以便将数据加载到DataSet中 并使对DataSet中数据的更改与数据源保持一致 第9页 打个比方 第10页 2 数据集 DataSet 设计目的 为了实现独立于任何数据源的数据访问DataSet不是一个单独的表 而是一组包含了表结构数据的表 同时它还包括表之间的所有关系DataSet对象是一个存储在内存中的离线数据库 它并未与数据库建立即时的连接DataSet对象专门用来存储从数据源中读出的数据 无论是哪种数据库 在DataSet中存储方式都是一致的通常在进行数据操作时 用户将来自数据库的数据填入DataSet中 然后再对其进行操作当用户更改了数据并准备将更改结果发送回数据源时 DataSet可以一次性完成发送操作由于DataSet的智能化 只有数据中被更改的部分才会被发送回数据库 第11页 二 使用ADO NET开发数据库应用程序的步骤 第一步 根据使用的数据源 确定使用的 NETFramework数据提供程序 第二步 建立与数据源的连接 需使用Connection对象 第三步 执行对数据源的操作命令 通常是SQL命令 需使用Command对象 第四步 使用数据集对获得的数据进行操作 需使用DataSet DataReader等对象 第五步 向用户显示数据 需使用数据控件 说明 使用ADO NET开发数据库应用程序 可以使用编程的方法也可以使用VB NET提供的数据控件 第12页 第一步 确定使用的 NETFramework数据提供程序 如果使用的是SQLServer数据库 则选择SQLServer数据提供程序 该数据提供程序类位于命名空间System Data SqlClient中 所以在程序的最前面 要写上ImportsSystem Data SqlClient 表示引入该命名空间 如果使用的是Access数据库 则选择OLEDB数据提供程序 该数据提供程序类位于System Data OleDb命名空间中 所以在程序的最前面 要写上ImportsSystem Data OleDb 表示引入该命名空间 第13页 第二步 建立与数据源的连接 需使用Connection对象 1 在访问数据库之前首先需要连接到数据库2 使用Connection对象创建和管理连接SqlConnection对象管理与SQLServer数据库的连接OleDbConnection对象管理与可通过OLEDB访问的任何数据存储区的连接OdbcConnection对象管理与通过使用连接字符串或ODBC数据源名称创建的数据源的连接OracleConnection对象管理与Oracle数据库的连接 第14页 3 创建Connection对象常使用方法1 使用代码的方法使用New关键字创建一个Connection对象 例如 DimsqlConASNewSqlConnection 或DimoleDbConAsNewOleDbConnection 2 使用控件的方法在窗体设计窗口中 双击 工具箱 窗格中的SqlConnection控件图标或OleDbConnection控件图标 将控件添加到窗体下方 系统同时自动创建对应的SqlConnection类或OleDbConnection类对象 说明 创建连接对象之后 还需要根据具体应用设置连接字符串 实现连接对象与数据源的连接 第15页 4 Connection对象常用属性1 ConnectionString属性 用于读取和设置用于打开数据库的命令字符串 是Connection对象中最重要的属性 只有在数据库处于关闭状态的时候才可以被设置 该属性被设置的时候 只有使用了Open方法后 属性才会有效 1 使用SQLServer方式的连接字符串dimconstrasstringconstr userid 访问数据库的用户名 password 密码 initialcatalog 数据库名 datasource 数据源 sqlCon ConnectiongString constr例如 dimconstrasstringconstr userid sa password initialcatalog 学生数据库 datasource local sqlCon ConnectiongString constr 第16页 2 使用OLEEB方式的连接字符串dimconstrasstringconstr Provider Microsoft Jet OLEDB 4 0 DataSource 数据源 oleDbcon ConnectiongString constr例如 dimconstrasstringconstr Provider Microsoft Jet OLEDB 4 0 DataSource D student mdb oleDbcon ConnectiongString constr 第17页 2 ConnectionTimeout属性 用于设置连接数据库的允许时间 如果连接数据库的时间超出该值 则会产生一个错误 如果将该值设置为0 则表示没有连接时间的设置 当数据库被打开的时候 该属性是只读属性 3 Database属性 用于设置ADOConnection对象的连接数据库名称 4 DataSource属性 表示ADOConnection对象所连接的数据源 该属性在数据库被打开的时候是只读属性 要修改该属性 必须在ADOConnection使用了Close方法时 5 State属性 表示ADOConnection对象的连接状态 如果该值为Connected 表示目前已经和ConnectionString属性指定的数据库建立连接 如为Disconnected 则表示没有和任何一个数据库建立连接 6 UserID属性 表示访问数据库的用户ID 第18页 5 Connection对象常用方法在对数据库实际操作之前 首先需要打开连接 使用完后应立即关闭 这是由Open和Close方法来完成的 1 Open方法 该方法用于和数据库建立一个连接 其格式为 Connection对象 Open 如果一个数据库连接已经打开 则会产生一个错误 例如 sqlCon Open 或oleDbCon Open 2 Close方法 该方法用于结束数据库连接 其格式为 Connection对象 Close 如果一个数据库连接已经被关闭 或者数据库正在被操作 将会产生一个错误 例如 sqlCon Close 或oleDbCon Close 3 Dispose方法 该属性用于销毁Connection对象 其格式为 Connection对象 Dispose 例如 sqlCon Dispose 或oleDbCon Dispose 第19页 6 总结 使用Connection对象的步骤1 创建Connection对象 2 把连接字符串赋值给Connection对象的ConnectionString属性 3 调用Connection对象的Open方法以打开连接 4 连接使用完毕后调用Connection对象的Close方法以关闭连接 第20页 第三步 执行对数据源的操作命令 通常是SQL命令 需使用Command对象 1 创建Command对象常用方法1 使用代码的方法使用New关键字创建一个Command对象 例如 DimsqlCmdASNewSqlCommand 或DimoleDbCmdAsNewOleDbCommand 2 使用控件的方法在窗体设计窗口中 双击 工具箱 窗格中的SqlCommand控件图标或OleDbCommand控件图标 将控件添加到窗体下方 系统同时自动创建对应的SqlCommand类或OleDbCommand类对象 说明 创建Command对象后 可以利用Connection属性设置Command对象的连接属性 第21页 2 Command对象常用属性1 CommandText属性 用来获取或设置要对数据源执行的SQL语句或存储过程名或表名 例如 sqlCmd CommandText select fromuserinfo 或oleDbCmd CommandText select fromuserinfo 2 Connection属性 用来获取或设置此Command对象使用的Connection对象的名称 例如 sqlCmd Connection sqlCon或oleDbCmd Connection oleDbCon 第22页 3 CommandType属性 用来获取或设置Command对象要执行的命令的类型 即获取或设置一个指示如何解释CommandText属性的值 该属性是CommandType枚举型的 取值有三种情况 StoredProcedure 表示CommandText属性中存放的是存储过程的名字 TableDirect 表示CommandText属性设置为要访问的一个或多个表的名称 Text 表示CommandText属性中存放SQL文本命令 4 CommandTimeout属性 用来获取或设置在终止对执行命令的尝试并生成错误之前的等待时间 以秒为单位 默认为30秒 第23页 3 Command对象常用方法1 ExecuteNonQuery方法 该方法对Connection对象建立的连接进行不返回任何行的查询 如Update 更新 Delete 删除 和Insert 插入 该方法返回一个整型 Integer 数据 表示受查询影响的行数 例如 DimsqlCmdASNewSqlCommand sqlCmd CommandText insertintouserinfovalues hcn 123 黄超男 管理员 sqlCmd Connection sqlConsqlCmd ExecuteNonQuery sqlCon Close 第24页 2 ExecuteReader方法 该方法对Connection对象建立的连接执行一个CommandText属性中定义的命令 返回一个数据集Reader对象 该对象连接到数据库的结果集上 允许行检索 3 ExecuteScalar方法 该方法对Connection对象建立的连接执行CommandText属性中定义的命令 但只返回结果集中的第1行第1列的值 第25页 第四步 使用数据集对获得的数据进行操作 需使用DataSet DataReader等对象 DataReader对象当处理大量数据时 大量内存的占用会导致性能上的问题 为解决这些问题 NET框架包括了DataReader对象 但是这个对象仅仅从数据库返回一个只读的 仅向前数据流 且当前内存中每次仅存在一条记录 DataReader接口支持各种数据源 可用于运行完一条命令仅需要返回一个简单的只读记录集的情况 使用DataReader可以直接从数据库中读取数据 直接对数据库执行SQL语句 在此期间一直保持对数据库的连接 这并不是最好的方式 第26页 1 DataSet对象的特点 1 与数据库或SQL无关 它只是简单地对数据表进行操作 交换数据或者将数据绑定到用户界面上 2 DataSet是强类型的 它把数据按照原来的类型存储 3 DataSet是一个离线的记录集合 它的方法如查询 排序 筛选和更新等操作是独立于数据库的 4 在DataSet对象中可以直接对其关系 列 表和类等对象操作 不必重新连接数据库 5 一个DataSet对象可以包含多个表 每个表对象都包含行 列对象 6 DataSet对象通过RowError对象可以逐行地捕捉表中的错误 如有错会及时提示 因此与数据库中的数据交换的效率及成功率都很高 7 DataSet对象可以直接读取XML数据 DataSet对象 第27页 2 DataSet对象的组成 Dataset对象是一个创建在内存中的集合对象 它可以包含任意数量的数据表 以及所有表的约束 索引和关系 相当于在内存中一个小型的关系数据库 一个DataSet对象一般包括 1 DataTable对象 代表创建在DataSet中的表2 DataRelation对象 代表着两个表之间的关系 3 DataColunm对象 代表与列有关的信息 包括列的名称 类型和属性 4 DataRow对象 代表DataTable中的记录 第28页 3 DataSet对象的属性 1 Tables属性Tables属性获取包含在DataSet中的表的集合 2 DataSetName属性DataSetName属性获取或设置当前DataSet的名称 3 Prifix属性Prifix属性获取或设置一个XML前缀 该前缀是DataSet的命名空间的别名 在调用ReadXml方法之前设置Prefix属性 4 Relations属性Relations属性用于将表链接起来 允许从父表浏览到子表的关系的集合 第29页 4 DataSet对象的方法 1 AcceptChanges方法将修改结果提交给DataSet中的表或关系 2 GetChanges方法返回一个包含了上次的所有或部分修改结果的DataSet对象 3 HasChanges方法表示DataSet中的数据是否被修改过 4 RejectChanges方法用来删除内容修改 使之恢复到原始状态 5 Clear方法释放DataSet对象 第30页 当需要从DataSet向数据库传出或传入数据时 需要使用DataAdapter 数据适配器 对象DataAdapter对象是DataSet对象和数据源之间的桥梁 其主要功能是从数据源中检索数据 填充DataSet对象中的表 把用户对DataSet对象的更改写入到数据源 NETFramework中主要使用两种DataAdapter对象 OleDbDataAdapter和SqlDataAdapter OleDbDataAdapter对象适用于OLEDB数据源 SqlDataAdapter对象适用于SQLServer7 0或更高版本 DataAdapter对象 第31页 1 DataAdapter对象的属性 1 InsertCommand属性用于设置或取得对数据源添加数据的SQL命令 2 DeleteCommand属性用于设置或取得对数据源删除数据的SQL命令 3 SelectCommand属性用于设置或取得对数据源查询数据的SQL命令 4 UpdateCommand属性用于设置或取得对数据源更新数据的SQL命令 第32页 2 DataAdapter对象的方法 1 Fill方法用来执行SelectCommand 用数据源的数据填充DataSet对象 2 FillSchema方法使用SelectCommand提取数据源中表的架构 并根据相应的约束在DataSet对象中创建一个空表 3 Update方法用来将DataSet对象中更改的内容更新到初始的数据库中 第33页 例如 DimsqlCmdASNewSqlCommand DimmydsAsNewDataSet DimmyDataAdapterAsNewsqlDataAdapter sqlCmd CommandText select fromuserinfo sqlCmd Connection sqlConmyDataAdapter SelectCommand sqlCmdmyDataAdapter Fill myds userinfo 第34页 第五步 向用户显示数据 需使用数据控件 此内容将在后面的数据绑定小节中详细介绍 第35页 举例 以系统登录功能为例 讲解使用编程的方法开发数据库应用程序的过程 第36页 11 3数据绑定 数据集不能直接显示其中的数据 必定通过能与其绑定的控件来实现 数据绑定是一个过程 即在运行时自动为与数据集中的元素相关联的控件设置属性 Windows窗体可以进行两种类型的数据绑定 简单数据绑定和复杂数据绑定 第37页 一 简单数据绑定 简单数据绑定就是将控件绑定到单个数据字段 每个控件仅显示数据集中的一个字段值 如果在窗体上要显示n项数据 就需要使用n个控件 最常用的简单数据绑定是将数据绑定到文本框和标签 要建立数据绑定 需要在设计或运行时对控件的DataBinding属性进行设置 举例 第38页 二 复杂数据绑定 复杂数据绑定允许将多个数据元素绑定到一个控件 同时显示记录源中的多行或多列 支持复杂数据绑定的控件包括数据网格控件DataGrid DataGridView 组合框控件ComboBox和列表框ListBox等 第39页 1 DataGrid控件 Windows窗体DataGrid控件用来在一系列行和列中显示数据 DataGrid可以为数据集提供用户界面 相关表之间的导航功能以及丰富的格式设置和编辑功能 在运行时使用SetDataBinding方法 或在设计时使用DataSource和DataMember属性 可将DataGrid控件绑定到数据源 可在DataGrid控件上直接对数据操作 DataGrid控件可显示对数据所执行操作的结果 但大多数数据特定的操作都是通过数据源而不是DataGrid来执行 第40页 1 常用属性 1 AllowSorting属性获取或设置是否可以通过单击列标题对数据重排 2 CaptionText属性获取或设置网格窗口标题的文本 3 ColumnHeaderVisible属性获得或设置一个指示表的列标题是否可见 4 DataSource属性用来指定DataGrid网格显示数据的数据源 5 Item属性获取或设置指定单元格的值 第41页 2 常用方法 1 BeginEdit方法试图将网格置于允许编辑的状态 2 Collapse方法Collapse方法折叠对于所有行存在的子行或折叠指定行的子行 3 Refresh方法Refresh方法强制控件使其工作区无效 并立即刷新自己和任何子控件 4 Show方法Show方法用于向用户显示控件 第42页 举例 第43页 11 4用ADO NET控件开发数据库应用程序 优点 简单缺点 不灵活步骤 1 在窗体上创建DataAdapter对象 并配置相关属性 2 用DataAdapter对象填充Dataset对象 3 进行数据绑定 4 如果在配置DataAdapter对象时的selete语句中含有主键字段 则可使用DataAdapter对象的Update方法进行更新操作 第44页 1 了解ADO NET 2 掌握ADO NET使用方法 3 掌握使用ADO NET开发数据库应用程序的步骤4 掌握数据绑定和DataGrid控件 总结 第45页 作业 1 理解本章的内容 2 完成教材P286习题113 实现自己所选系统的数据库操作部分 第46页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!