欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

第13章ADONet数据库存取

  • 资源ID:173774890       资源大小:438.03KB        全文页数:51页
  • 资源格式: PPT        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

第13章ADONet数据库存取

第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 Update 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 源代码 ADO.NET Data Adapter 或者 Command 对象 Connection 对象 SQL 供应程序 OLE DB.NET 供应程序 OLE DB 接口 SQL Sever 数据库 ProvidernProvider是一些托管的应用程序集n包含了对特定数据元的访问代码nSQL(7+)provider:nSystem.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 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.OleDbCommand System.Data.SqlClient.SqlCommand DataReader System.Data.OleDb.OleDbDataReader System.Data.SqlClient.SqlDataReader ADO.NET体系结构.NET 数据程序的四个核心对象 对象对象说明说明Connection建立与特定数据源的连接。建立与特定数据源的连接。Command对数据源执行命令。公开对数据源执行命令。公开 Parameters,并且可以从,并且可以从 Connection 在在 Transaction 的范围内执行。的范围内执行。DataReader从数据源中读取只进且只读的数据流。从数据源中读取只进且只读的数据流。DataAdapter用数据源填充用数据源填充 DataSet 并解析更新。并解析更新。访问数据的两种基本方式n方式1:DataAdapter及DataSetn方式2:Command及DataReadern它们都要使用Connection及Commandn方式1可以自动建立Command对象,适合于“离线”处理n方式2适合于只读数据,效率较高2.Connection和CommandConnection对象n对于不同的Data Provider有不同Connection对象nSystem.Data.SqlClientnSqlConnectionnOpen()方法SQL Provider使用它来与SQL Server 7+数据库进行连接nConnectionString属性指定连接字符串参数Command对象nSqlCommand对象nCommandText属性指定需要执行的DML命令,来操纵数据nConnection属性为SqlCommand对象指定SqlConnection对象nSqlParameters属性(Collection)包含了一组Command对象的参数nExecuteNonQuery()方法nExecuteScalar()方法从DML语句中只返回一个单独的值,返回结果集中的第一行第一列nExecuteReader()方法返回一个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进行通信之前,你必须先建立连接。连接字符串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 ProviderP r o v i d e r=S Q L O L E D B;D a t a S o u r c e=M y S e r v e r;I n i t i a l Catalog=MyDataBase;User Id=MyUser;Password=MyPassword(3)连接Sql Server数据库,使用SqlServer Providerdata source=MyServer;initial catalog=MyDataBase;user id=MyUser;password=MyPassword(4)连接Oracle数据库,使用OLE DB ProviderP r o v i d e r=M S D A O R A.1;D a t a S o u r c e=o r a c l e _ d b;U s e r ID=scott;Password=tiger(5)连接Oracle数据库,使用OLE DB ProviderUser Id=scott;Password=tiger;Data Source=使用Command对象n建立数据连接以后,可以利用Command对象来执行命令并从数据源返回结果Command对象可以用Command的构造函数来创建nExecuteReadernExecuteScalarnExecuteNonQuery使用ExecuteReader方法nExecuteReader方法返回一个DataReader对象。DataReader对象是一个仅向前的只读的数据流。n一般ExecuteReader方法都执行SQL语句中的select语句。首先介绍Select语句的三种基本形式。使用ExecuteScalar方法nExecuteScalar方法返回单个值,如求和、总行数等SQL 语句的聚合函数。常用的SQL的聚合函数如表常用的SQL的聚合函数函数返回数值AVG(表达式)返回表达式中所有值的平均值。仅用于数字列并自动忽略 null 值。COUNT(表达式)返回表达式中非 null 值的数量。可用于数字和字符列。COUNT(*)返回表中的行数(包括有 null 值的行)。MAX(表达式)返回表达式中的最大值,忽略 null 值。可用于数字、字符和日期时间列。MIN(表达式)返回表达式中最小值,忽略 null 值。可用于数字、字符和日期时间列。SUM(表达式)返回表达式中所有值的总和,忽略 null 值。仅用于数字列。使用ExecuteNonQuery方法nExcuteNonQuery方法用于执行不需要返回结果的命令,如插入、删除和更新等操作下面简单介绍数据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.Connection=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有使用不同的DataReadernADO.NET中最高效的得到数据的方法nSqlDataReadernSqlCommand.ExecuteReader()方法nSqlDataReader.Read()方法可以遍历结果集中的行nSqlDataReader按照当前行的列引索可得到每一列的数据,GetString(),GetBoolean(),GetInt16(),GetInt32(),GetDateTime(),GetDecimal(),GetDouble(),GetFload(),GetGuid()使用DataReader对象nDataReader对象用于从数据库中获取仅向前的的只读数据流。n由于在内存一次只存放一行数据,因此使用DataReader对象可提高应用程序的性能,大幅度减轻对内存的需求。nDataReader对象通过Command对象的ExecuteReader()方法创建。关键代码示例nCommandDataReader.cs4.DataAdapter和DataSetn1)使用DataAdapter来填充DataSetn2)取得DataSet中的数据n3)修改DataSet中的数据n4)添加和删除行n5)在DataTable中查找数据n6)接受和拒绝更改n7)保存对DataSet的改变返回数据库DataAdapter对象和DataSet对象nDataAdapter对象用于从数据源中获取数据、填充DataSet中的表和约束并将对DataSet的更改提交回数据源。DataAdapter对象的SelectCommand、InsertCommand、UpdateCommand和DeleteCommand属性都是Command对象。其中SelectCommand用来执行查询。其他的几个用于数据操作。nDataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据库中的数据表和视图。一般来说,一个对应DataTable对象的数据表就是一系列数据行和列的集合。DataTable会负责维护每一笔数据行保留它的初始状态和当前状态,以解决许多人同时访问的问题。DataAdapter对象n与Provider相关n与select,update,insert,delete命令进行互操作nSqlDataAdapternInsertCommand属性nUpdateCommand属性nDeleteCommand属性nSelectCommand属性nFill()方法需要一个DataSet类型的参数nUpdate()方法将DataSet中的变更提交到数据库当中,需要使用InsertCommand,UpdateCommand和DeleteCommand可以自动产生CommandnOleDbCommandBuilder cmdbld=new OleDbCommandBuilder(daAdapter);DataSet对象n独立于数据Store、Provider和Connectionn离线模型nTables属性包含了一个或多个DataTable对象nRelations属性可以包含一个或多个DataRelation对象n可以用DataAdapter对象来填充n可以与XML相互转换n将变更之后的DataSet提交到DataAdapter的Update()方法DataSet对象模型DataSet及相关对象nDataSetnDataTablenDataRownDataColumnn表之间的联系 Relationn约束DataTable对象nColumns属性包含了一个或多个DataColumn对象nRows属性包含了一个或多个DataRow对象nContraints属性包含了一个或多个Constraint对象nDataTable中最多能够包含16,777,216行数据关键代码示例ADO.NET和XMLnDataSet可以直接的串列化为XML,同时XML也可以直接的反串列化为DataSet对象nReadXml()方法nWriteXml()方法nSqlCommand.ExecuteXmlReader()返回一个XmlReader对象使用事务nmyTrans=myConnection.BeginTransaction();nmyCommand.Transaction=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问题与讨论

注意事项

本文(第13章ADONet数据库存取)为本站会员(沈***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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