SqlCommand是sql命令,执行后通过sqlDataAdapter返回填入DataSet
SqlDataAdapter   有不同的构造函数,
SqlDataAdapter(SqlCommand);
SqlDataAdapter(string,SqlConnection);

SqlDataAdapter   da=new   SqlDataAdapter();
da.SelectCommand=new   SqlCommand();
da.SelectCommand.CommandText=strSql;
da.SelectCommand.CommandTimeout=60;
da.SelectCommand.Connection=myConn;
da.SelectCommand.Transaction=myTrans;
myDataSet=new   DataSet();
da.Fill(myDataSet,TableName);

SqlCommand   myCmd=new   SqlCommand(strSql,myConn);
myCmd.CommandType=CommandType.Text;
myCmd.CommandTimeout=60;
myCmd.Transaction=myTrans;
intAffectedRows=myCmd.ExecuteNonQuery();

其中myConn是连接对象,myTrans是事务对象,strSql是SQL语句,
第一个例子通常是执行有返回数据集的查询如SELECT语句
第二个例子通常是执行INSERT、UPDATE、DELETE语句。

在ADO.NET的DataAdapter其实是由很多个Command组成的。如SelectCommand,DeleteCommand,InsertCommand,UpdateCommand。
        每一个Command都是一个独立的Command对象。也就是都有自己的Connection和CommandText。
        DataAdapter的所有工作都会落实到一个Command上,比如查询就用SelectCommand。如果SelectCommand没有配置好,就不能执行这个工作。
        相应的,如果要执行Update方法,就必须配置好UpdateCommand。而我们通常的定义中(如:OleDbDataAdapter   da=new   OleDbDataAdapter( "Select   *   From   Authors ",conn);)都只是配置了SelectCommand,所以这时DataAdapter只能执行查询工作,而不能执行Update。
        要让DataAdapter执行Update,当然就必须配置好UpdateCommand。但是这个Command的CommandText相当复杂(如果有N个字段的话,就有2*N+1个参数),如果要我们手工去配置,那简直就是不可能的。所以.NET为我们提供那一个自动配置其Command的工具CommandBuilder。用这个Class,我们就能把DataAdapter的所有Command配置好,从而使它能执行这些操作。
        CommandBuilder也有两种:OleDbCommandBuilder和SqlCommandBuilder。分别对应OleDb和SQL   Server。

SqlDataAdapter 用法详解的更多相关文章

  1. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  2. @RequestMapping 用法详解之地址映射

    @RequestMapping 用法详解之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没 ...

  3. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  4. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

  5. CSS中伪类及伪元素用法详解

    CSS中伪类及伪元素用法详解   伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...

  6. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  7. AngularJS select中ngOptions用法详解

    AngularJS select中ngOptions用法详解   一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...

  8. systemctl命令用法详解

    systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...

  9. CSS3的@keyframes用法详解:

    CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...

随机推荐

  1. VBS简明教程

    VBS简明教程   一.输出 VBS的输出使用函数Msgbox调用对话框进行输出. Msgbox(message) Message为要输出的信息 二.输入 VBS的输入,调用函数Inputbox()进 ...

  2. FFM

    转载自http://blog.csdn.net/jediael_lu/ https://blog.csdn.net/jediael_lu/article/details/77772565 点击率预估算 ...

  3. Jquery复选框

    Jquery复选框 1.checkbox list选择 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...

  4. FZU 1844 Earthquake Damage(最大流最小割)

    Problem Description Open Source Tools help earthquake researchers stay a step ahead. Many geological ...

  5. 常用web资源

    ip相关 新浪:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=220.181.38.110 (不带参数本机) ...

  6. iOS-UISearchController用法

    import "ViewController.h" @interface ViewController ()<UITableViewDelegate,UITableViewD ...

  7. s3c2440调试nandflash裸机程序遇到的问题

    图挂了可以去 https://github.com/tanghammer/mini2440_peripherals/blob/master/nand/debug_nand.md 按照前面sdram的代 ...

  8. 3dContactPointAnnotationTool开发日志(二十)

      为了使工具更人性化,我又在每个status的text上绑了个可以拖拽实现值改变的脚本,但是不知道为啥rotx那个值越过+-90范围后连续修改就会产生抖动的现象,试了很多方法也没能弄好,不过实际用起 ...

  9. MenuStrip的自动显示

    /// <summary> /// 主界面接受F11时,显示菜单 /// 通过改写Form的ProcessCmdKey实现 /// </summary> /// <par ...

  10. docker配置网络

    1.暂停服务,删除旧网桥#service docker stop#ip link set dev docker0 down#brctl delbr docker0 2.创建新网桥bridge0#brc ...