ADONet数据库存取.ppt

上传人:hyn****60 文档编号:70988777 上传时间:2023-01-31 格式:PPT 页数:51 大小:438KB
返回 下载 相关 举报
ADONet数据库存取.ppt_第1页
第1页 / 共51页
ADONet数据库存取.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《ADONet数据库存取.ppt》由会员分享,可在线阅读,更多相关《ADONet数据库存取.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第13章 ADO.Net数据库存取唐大仕http:/本讲内容nADO.NET概述nConnection和CommandnDataReadernDataAdapter和DataSetn建立数据存取的实用库1.ADO.NET概述RDBMS基本概念n在表中存储数据的数据库,例如Microsoft SQL Server,Microsoft Access等n表具有数据列和数据行n范式,数据标准化n表之间使用外键约束相互关联n支持数据操纵语言(DML)nSELECT,INSERT,UPDATE和DELETE实体关系图ADO.NET提供标准的CRUD接口nCRUDCreate Retrieve Updat

2、e and DeletenMicrosoft.NET中ADO.NET来提供这些功能nADO.NET中托管的Providern调用标准的CRUD语句来访问数据库nADO.NET将不同的Provider的数据库访问方式抽象出来提供统一的访问接口nSystem.Data名称空间ADO.NET技术的发展nODBC nDAOnADOnADO.NETADO.NET的层次ManagedCodeADOManaged ProviderData StoreADO.NET中的数据访问层n ProvidernProvider是一些托管的应用程序集n包含了对特定数据元的访问代码nSQL(7+)provider:nSys

3、tem.Data.SqlClient名称空间nOLE/DB providernSystem.Data.OleDbnODBC providernSystem.Data.OdbcnOracle providernSystem.Data.OracleClient选择.NET 数据提供程序提供程序注释SQL Server.NETNET 数据提供程序 建议用于使用 Microsoft SQL Server 7.0 或更高版本的中间层应用程序。OLE DB.NET对于 Microsoft SQL Server 版本 6.5 和较早版本,必须将用于 SQL Server 的 OLE DB 提供程序与 OLE

4、 DB.NET 数据提供程序一起使用 对象对象 OLE DB供应程序供应程序 System.Data.OleDb名字空间名字空间 SQL供应程序供应程序 System.Data.SqlClient名字空间名字空间DataAdapter System.Data.OleDb.OleDbDataAdapter System.Data.SqlClient.SqlDataAdapter Connection System.Data.OleDb.OleDbConnection System.Data.SqlClient.SqlConnection Command System.Data.OleDb.Ole

5、DbCommand System.Data.SqlClient.SqlCommand DataReader System.Data.OleDb.OleDbDataReader System.Data.SqlClient.SqlDataReader ADO.NET体系结构.NET 数据程序的四个核心对象 对对象象说说明明Connection建立与特定数据源的建立与特定数据源的连连接。接。Command对对数据源数据源执执行命令。公开行命令。公开 Parameters,并且可以从,并且可以从 Connection 在在 Transaction 的范的范围围内内执执行。行。DataReader从数据

6、源中从数据源中读读取只取只进进且只且只读读的数据流。的数据流。DataAdapter用数据源填充用数据源填充 DataSet 并解析更新。并解析更新。访问数据的两种基本方式n方式1:DataAdapter及DataSetn方式2:Command及DataReadern它们都要使用Connection及Commandn方式1可以自动建立Command对象,适合于“离线”处理n方式2适合于只读数据,效率较高2.Connection和CommandConnection对象n对于不同的Data Provider有不同Connection对象nSystem.Data.SqlClientnSqlConne

7、ctionnOpen()方法SQL Provider使用它来与SQL Server 7+数据库进行连接nConnectionString属性指定连接字符串参数Command对象nSqlCommand对象nCommandText属性指定需要执行的DML命令,来操纵数据nConnection属性为SqlCommand对象指定SqlConnection对象nSqlParameters属性(Collection)包含了一组Command对象的参数nExecuteNonQuery()方法nExecuteScalar()方法从DML语句中只返回一个单独的值,返回结果集中的第一行第一列nExecuteRea

8、der()方法返回一个SqlDataReaderSQL Server导入的命名空间n语法如下:nnn连接SQL Server的连接串的书写格式 nstring connString=server=localhost;database=pubs;uid=sa;pwd=;nSqlConnection Conn=new SqlConnection(connString);使用Connection对象n与数据库的所有通信都要通过一个打开的连接来进行。在对一个数据库进行数据的插入和读取之前,必须先打开与这个数据库的连接。n这种打开和关闭一个连接的操作与打电话的过程有相似之处。在你能够与SQL Sever

9、进行通信之前,你必须先建立连接。连接字符串n(1)连接Access数据库,使用Microsoft.Jet.OLEDB.4.0Provider=Microsoft.Jet.OLEDB.4.0;Password=xxx;User ID=Admin;Data Source=D:CsExamplech10BIBLIO.MDB(2)连接Sql Server数据库,使用OLE DB ProviderProvider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyDataBase;User Id=MyUser;Password=MyPassword(3)连接

10、Sql Server数据库,使用SqlServer Providerdata source=MyServer;initial catalog=MyDataBase;user id=MyUser;password=MyPassword(4)连接Oracle数据库,使用OLE DB ProviderProvider=MSDAORA.1;DataSource=oracle_db;User ID=scott;Password=tiger(5)连接Oracle数据库,使用OLE DB ProviderUser Id=scott;Password=tiger;Data Source=使用Command对象

11、n建立数据连接以后,可以利用Command对象来执行命令并从数据源返回结果Command对象可以用Command的构造函数来创建nExecuteReadernExecuteScalarnExecuteNonQuery使用ExecuteReader方法nExecuteReader方法返回一个DataReader对象。DataReader对象是一个仅向前的只读的数据流。n一般ExecuteReader方法都执行SQL语句中的select语句。首先介绍Select语句的三种基本形式。使用ExecuteScalar方法nExecuteScalar方法返回单个值,如求和、总行数等SQL 语句的聚合函数。

12、常用的SQL的聚合函数如表常用的SQL的聚合函数函数返回数值AVG(表达式)返回表达式中所有值的平均值。仅用于数字列并自动忽略 null 值。COUNT(表达式)返回表达式中非 null 值的数量。可用于数字和字符列。COUNT(*)返回表中的行数(包括有 null 值的行)。MAX(表达式)返回表达式中的最大值,忽略 null 值。可用于数字、字符和日期时间列。MIN(表达式)返回表达式中最小值,忽略 null 值。可用于数字、字符和日期时间列。SUM(表达式)返回表达式中所有值的总和,忽略 null 值。仅用于数字列。使用ExecuteNonQuery方法nExcuteNonQuery方法

13、用于执行不需要返回结果的命令,如插入、删除和更新等操作下面简单介绍数据SQL 语句中的数据操作语言SQL语言基本分成三大体系:n数据定义语言DDL:用来定义数据n数据查询语言DQL:数据检索语言n数据操作语言DML:包括INSERT,UPDATE和DELETE使用存储过程n用Command对象来使用存储过程n使用存储过程nsqlCmd.CommandType=CommandType.StoredProcedure;使用参数cmd.CommandText=INSERT INTO Nations(CName,EName,FName)VALUES(CName,EName,FName);cmd.Con

14、nection=this.sqlConnection1;cmd.Parameters.Add(CName,SqlDbType.VarChar,60).Value=“aaaaaa”:;使用参数比直接用字符串相加更安全,更清晰使用参数比直接用字符串相加更安全,更清晰cmd.CommandText=“Insert into Nataions(CName)Values(“+xxx+“)”;3.Command和DataReadern1)使用Command来获取DataReadern2)使用Command来获取一个数据n3)直接使用数据库命令DataReader对象n不同的Provider有使用不同的Da

15、taReadernADO.NET中最高效的得到数据的方法nSqlDataReadernSqlCommand.ExecuteReader()方法nSqlDataReader.Read()方法可以遍历结果集中的行nSqlDataReader按照当前行的列引索可得到每一列的数据,GetString(),GetBoolean(),GetInt16(),GetInt32(),GetDateTime(),GetDecimal(),GetDouble(),GetFload(),GetGuid()使用DataReader对象nDataReader对象用于从数据库中获取仅向前的的只读数据流。n由于在内存一次只存

16、放一行数据,因此使用DataReader对象可提高应用程序的性能,大幅度减轻对内存的需求。nDataReader对象通过Command对象的ExecuteReader()方法创建。关键代码示例nCommandDataReader.cs4.DataAdapter和DataSetn1)使用DataAdapter来填充DataSetn2)取得DataSet中的数据n3)修改DataSet中的数据n4)添加和删除行n5)在DataTable中查找数据n6)接受和拒绝更改n7)保存对DataSet的改变返回数据库DataAdapter对象和DataSet对象nDataAdapter对象用于从数据源中获取

17、数据、填充DataSet中的表和约束并将对DataSet的更改提交回数据源。DataAdapter对象的SelectCommand、InsertCommand、UpdateCommand和DeleteCommand属性都是Command对象。其中SelectCommand用来执行查询。其他的几个用于数据操作。nDataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据库中的数据表和视图。一般来说,一个对应DataTable对象的数据表就是一系列数据行和列的集合。DataTable会负责维护每一笔数据行保留它的初始状态和当前状态,以解决许多人同时访问的问

18、题。DataAdapter对象n与Provider相关n与select,update,insert,delete命令进行互操作nSqlDataAdapternInsertCommand属性nUpdateCommand属性nDeleteCommand属性nSelectCommand属性nFill()方法需要一个DataSet类型的参数nUpdate()方法将DataSet中的变更提交到数据库当中,需要使用InsertCommand,UpdateCommand和DeleteCommand可以自动产生CommandnOleDbCommandBuilder cmdbld=new OleDbComman

19、dBuilder(daAdapter);DataSet对象n独立于数据Store、Provider和Connectionn离线模型nTables属性包含了一个或多个DataTable对象nRelations属性可以包含一个或多个DataRelation对象n可以用DataAdapter对象来填充n可以与XML相互转换n将变更之后的DataSet提交到DataAdapter的Update()方法DataSet对象模型DataSet及相关对象nDataSetnDataTablenDataRownDataColumnn表之间的联系 Relationn约束DataTable对象nColumns属性包含

20、了一个或多个DataColumn对象nRows属性包含了一个或多个DataRow对象nContraints属性包含了一个或多个Constraint对象nDataTable中最多能够包含16,777,216行数据关键代码示例ADO.NET和XMLnDataSet可以直接的串列化为XML,同时XML也可以直接的反串列化为DataSet对象nReadXml()方法nWriteXml()方法nSqlCommand.ExecuteXmlReader()返回一个XmlReader对象使用事务nmyTrans=myConnection.BeginTransaction();nmyCommand.Transa

21、ction=trans;nmyCommand.ExecuteNonQuery();nmyTrans.Commit();nmyTrans.Rollback();Transaction.cs5.建立自己的实用库nMyDBHelper.csMicrosoft Data Access Application Blockn包含经过了优化的调用SQL Server数据库中存储过程和SQL语句的代码n可以返回SqlDataReader,DataSet和XmlReader对象n可以降低开发成本,减少需要编写、测试和维护的代码n可以从微软的网站上下载C#和VB.NET的源代码和开发文档nhttp:/ nhttp:/ 参见Northwind子目录Microsoft Data Access Application BlockC#的开源数据库nSharpHSQLnMinosse Relational DataBase Systemncsharp-sqlite6.界面及数据绑定nDataGridn.DataSource数据库应用n三层架构n用户界面层UIn业务逻辑层BLLn数据访问层DALnOR MappingnLinq to Sql问题与讨论

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁