kapok

垃圾桶,嘿嘿,我藏的这么深你们还能找到啊,真牛!

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  455 随笔 :: 0 文章 :: 76 评论 :: 0 Trackbacks
http://www.cnblogs.com/William_Fire/articles/125108.html

http://www.cnblogs.com/William_Fire/articles/125819.html



http://www.cnblogs.com/william_fire/articles/126665.html
http://www.cnblogs.com/tintown/archive/2005/03/23/124395.html


http://www.cnblogs.com/tintown/category/12787.html
http://www.cnblogs.com/tintown/archive/2005/04/04/131784.html


http://www.cnblogs.com/tintown/archive/2005/04/04/131784.html?Pending=true#PostPost


http://www.cnblogs.com/tintown/archive/2005/04/07/132876.html

http://blog.sunmast.com/sunmast/articles/816.aspx

ADO.NET对象模型:
http://www.phome.net/document/net/200504/net111246243813950.html


http://www.phome.net/document/net/200504/net111246243713949.html



 


ADO.NET--什么是关系型数据库

http://www.phome.net/document/net/200504/net111246244913952.html


ADO.NET对象模型
http://blog.csdn.net/jabby12/archive/2004/08/02/59221.aspx

      ADO.NET是专门为帮助开发人员开发高效的多层数据库应用程序设计的。ADO.NET对象模型可分为两类:一类为“连接的”,一类为“断开连接的”对象,后者允许将查询结果保存在内存中进行处理。

”连接的“对象模型顾名思义,它是直接与数据库进行连接操作;“断开连接”的对象模型可以说是建立在“连接的”对象模型的基础上进行的,因为它必须先进行一次“连接的”操作,才能得到所需的结果。

      举个例 :                        

SqlConnection con=new SqlConnection("server=localhost;database=db,uid=sa,pwd=;");

SqlDataAdapter ad=new SqlDataAdapter("select * from table",con);

DataSet ds=new Dataset();

ad.Fill(ds,"table");

//注意这里已经将从数据库里查询出来的结果放到一个Dataset对象里,从此刻开始,你就开始使用“断开连接”的对象模型来对数据库进行操作,DataSet对象是一个在内存中的”虚数据表“,你可以对它进行任何操作而不影响数据库,可以对它进行排序,修改,查询,增加,删除。而如果你想更改数据库内容的话,也可以通过DataSet对象来操作,很简单,调用它的update()方法即可完成更新数据库。也可以使用它的GetChanges()方法来获取只更改过的行,它返回一个DataSet,这个Dataset不同于调用GetChanges()方法的那个,返回的这个只是它的一张子表,也就是更改过的数据,利用此方法可以大大地提高多层ADO.NET应用程序的性能。DataSet类还有一个Merge方法用来合并两个DataSet对象的数据,ADO.NET默认覆盖被调用Merge()方法的DataSet中的行。

ADO.NET还提供了一种强类型的DATASET对象:它可以帮助你简化建立数据访问应用程序的过程。例如:有个表叫table,其中有一列叫column你可以这样来访问此列:

vb.net:    Dim ds as DataSet

            Console.WriteLine(ds.table(0).column);   (table(0).表示table表中的第1行)

c#:         DataSet ds;

             Console.WriteLine(ds.table[0].column);  (table[0].表示table表中的第1行)

是不是很简洁: ^_^

关于DataSet里面还有好多东西方便用如:DataTable,DataView,DataRow,DataColumn,DataRelation,Constraint一大堆的好东西,在以后的日志中会提到!



  可见,在分层的时候,我们会增加一个实体层,它的作用如下:
  ① 将显示数据和实际的存储区域隔离,保证了业务的独立性,提高了可重用性。
  ② 在业务层和表现层之间传递数据。(如果没有实体层的话,我们需要把表的每个字段作为一个参数在它们之间传递,如果修改的话,将需要影响到程序的各个层)
  ③ 提供更大的可收缩性。
  
  2) 业务实体层的几种选择方案及其优缺点。
  在.NET环境下实现业务实体有下面的几种选择:
  ① DataReader BE 具有最快的读取速度,用于只读的场合,不具有OO的概念。
  ② XML BE 可以与XML Reader和DataSet转换。缺点:性能低,验证、解析、显示、排序等都很复杂。
  ③ Generic DataSet BE 优点:数据绑定等。缺点:客户端必须通过集合来获取数据,没有类型,实例化开销大,调度性能低。
  ④ Typed DataSet BE 优点:由类型,可以进行类型检查。缺点:只能从DataSet继承,部署不方便,可扩展性差,实例化开销大,调度性能低。
  ⑤ Custom BE 优点:性能调优,代码更具有可读性,用自定义实体类定义一个良好的接口,将复杂问题隐藏在其中。缺点:设计开发都很复杂,需要自己去实现CURD操作,自己去实现数据绑定,工作量很大。
  ⑥ O/R Mapping的实现 它具有自定义类的所有优点,同时实现了CRUD,数据绑定等操作。

关于ObjectSpaces 和llblgen
http://www.llblgen.com/defaultgeneric.aspx
http://www.sinzy.net/blog/Read.asp?ID=44&BID=931


http://www.csdn.net/develop/author/NetAuthor/sun2bin/
posted on 2005-04-13 13:40 笨笨 阅读(409) 评论(0)  编辑  收藏 所属分类: ALL程序员生活个人项目所需资料

只有注册用户登录后才能发表评论。


网站导航: