深度剖析ADO.NET属性分析研究

由于VS2003安装程序太多,此处无法上传,所以大家有communitysever的可以从里面获得然后反编译为自己所用,没有的就到网络上搜下吧,有许多资源呢!下面进行详细说明介绍。

公司主营业务:网站设计制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出全南免费做网站回馈大家。

首先ADO.NET中使用了DataAdapter 来处理和数据库联机和脱机当时开发人员设计了DataAdapter是为了能够处理脱机数据方便操作有关这点只要其Fill思路方法即可,这时会在DataSet中创建个新名为“Table“DataTable.

要重新指定名可用DataAdapter.Fill(DataSet,“Tabelname“)此时connection也关闭了DataAdapter既可以用来提交查询并将结果存储到DataSet中也可以用来向数据库传递更改仅仅使用其Update思路方法即可达到向数据库提交存储地DatSet中更改#t#

DataAdapter将查询结果存储在DataSet或DataTable对象中当执行这过程时候DataAdapter使用了个Command来和数据库通讯并在内部使用了DataReader来获取查询结果***才将结果复制到DataSet新行中去这也是Fill过程如果有两个DataAdapter对象都使用相同Connection对象在创建时候就会创建两个Connection对象而不是同个这种情况解决方案是:

 
 
  1. SqlConnection con= SqlConnection(\"server=localhost;database=Northwind;Trusted_Connection=Yes;\")  
  2. SqlDataAdapter da= SqlDataAdapter(\"select CategoryID,Description from Categories\",con);  
  3. SqlDataAdapter da= SqlDataAdapter(\"select CategoryID,Description from Customers\",con); 

而不是将查询串单独写成行有时候可能并不希望ADO.NET中架构和数据库中架构相同这种情况解决方案的是可以采用别名思路方法即select id as Product ID,amount as Product Amount from product;另外种解决方案就是使用DataAdapter提供TableMappings集合机制通过它就可以将查询结果映射到DataSet结构中这种思路方法更方便更灵活TableMappings属性返回个DataTableMappingsCollection对象。

其中包含了组DataTableMappings只要DataSet中相应表名称和数据库中表名相同即可以使用它来创建个映射(DataSet中可以有多个表)TableMappings里还有个ColumnMappings属性其使用方法和TableMappings相似其原理是DataAdapter从数据库读取数据后利用ADO.NET从结果集中获取列名称有点特别要注意即只能获取列名称ADO.NET而无法获取表名称DataAdapter事先假定表名称为Table,接着遇到映射语句则进行表映射不说了看代码:

 
 
  1. con= SqlConnection(\"server=localhost;database=Northwind;Trusted_Connection=Yes;\");  
  2. da= SqlDataAdapter(\"select top 50 CustomerID,CompanyName from Customerswhere CustomerID>\'BOTTM\'\",con);  
  3. ds= DataSet;  
  4. da.Fill(ds,\"Categories\");  
  5. this.DataGrid1.DataSource=ds.Tables[\"Categories\"];this.DataGrid1.DataBind;  
  6. con.Close; 

分享题目:深度剖析ADO.NET属性分析研究
标题路径:http://www.shufengxianlan.com/qtweb/news14/14864.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联