zoukankan      html  css  js  c++  java
  • SqlCommand和SqlDataAdapter有什么区别

    轉:

    因为DataSet是离线的,所以SqlDataAdapter这个对象是连接DataSet和数据库的桥梁,所有对DataSet的操作(填充,更新等)都要通过他    
     ado.net数据访问有两种方式: 
           1.离线--通过DataSet,然后离线增,删,改,最后通过SqlDataAdapter解   析到数据库中        
          2.直接对数据库操作SqlCommand   (Update,Insert,Delete)

    SqlCommand就是是命令了,可以用它来执行SQL命令 

        SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的一组对象 SqlCommand对应DateReader  

      SqlDataAdapter对应DataSet SqlCommand是C#中与Sql数据库打交道的对象,几乎所有的Sql数据库操作都需要使用该对象来实现,但其功能有限,只是简单的实现了与Sql数据库的接口而已;    

         SqlDataAdapter是一个功能强大的SqL数据适配器,也用于操作Sql数据库,但它的操作都要通过SqlCommand来实现(有一个属性对象的类型就是SqlCommand),也就是说,可以把SqlDataAdapter看作是一个把一些特殊功能封装了、增强了的SqlCommand! SqlCommand与ADO时代的Command一样,SqlDataAdapter则是ADO.NET中的新事物,它配合DataSet来使用。其实,DataSet就像是驻留在内存中的小数据库,在DataSet中可以有多张DataTable,这些DataTable之间可以相互关联,就像在数据库中表关联一样!SqlDataAdapter的作用就是将数据从数据库中提取出来,放在DataSet中,当DataSet中的数据发生变化时,SqlDataAdapter再将数据库中的数据更新,以保证数据库中的数据和DataSet中的数据是一致的! 

        用微软顾问的话讲:DataAdapter就像是一把铁锹,它负责把数据从数据库“铲”到DataSet中,或者将数据从DataSet“铲”到数据库中!

    -----------------------------------------

    SqlDataReader 只能顺序读,不能修改数据库 在程序没执行完之前一直保持连接 SqlDataAdapter 一次读出,可以放在DATASET里的。可以用来修改数据库

    多一分冷靜,少一分浮躁
  • 相关阅读:
    【转】商业内幕(Business Insider)网站近期评出了全美20家最具创新力的科技创业公司
    【转】SQL Server如何截断(Truncate)和收缩(Shrink)事务日志
    【转】xp_dirtree储存过程漏洞
    【转】锻炼胸肌
    【转】sql server 版本中r2解释
    【转】生活感悟
    jquery插件学习之元素顶部悬浮
    html5学习
    javascript 学习之自定义滚动条加滚轮事件
    PHP连接数据库的方法
  • 原文地址:https://www.cnblogs.com/AnnyGird-LiMing/p/5019138.html
Copyright © 2011-2022 走看看