现有一个sql查询语句,查询后得到一个唯一结果
例如:select count(ip) from iptable where ...;得到某个ip的总数,除了把结果保存到dateset中,还有什么方法可以保存该值吗?还有一个小问题:
update,insert语句怎么进行批量作业,除了循环的方式,还有其他方法吗?
能不能一次更新相同条件的多组数据的值?

解决方案 »

  1.   

    SqlDataReader dr = cmd.Execute("select count(ip)……");
    int 总数=dr[0];
    update,insert批量更新可以用 where id in (1,2,3,4,5)这种方法
      

  2.   

    保存在  datareader中 或者配置sqlserver的xml支持 可保存保存在xml里 
    2.在sql语句中只能循环  但是用ado.net可以批量 如SqlDataAdapter.Update方法 具体看msn
      

  3.   

    如果你想得到 总数 返回结果集的时候 一定要用ExecuteScalar()执行他! 才可以!
      

  4.   

    保存在dateset或  datareader中 或者配置sqlserver的xml支持,哪种方法占的资源少?速度快些?
      

  5.   

    1.
    //取到count(ip)的值
    int ipcount;
    SqlCommand myCommand = new SqlCommand("select count(ip) from iptable where ...",myconn)
    ipcont = Conver.Toint32(myCommand.ExecuteScalar());
    2.
    insert ...
    select * from ...
      

  6.   

    2
    insert ...
    select * from ...不好意思,我没看懂,是什么意思?
      

  7.   

    1.直接将返回值用ExecuteScalar返回存在变量内用
    2.update 本身就是批量的sql语句;insert 你可以把要插入的数据先存在dataset.datatable内一次提交。
      

  8.   

    1:第一个问题都说了。
    2:NET中的command 比如:SqlCommand,可以执行批次语句。例如:
       myCommand.commandtext=select * from table1;select * from tablee2;
      

  9.   

    insert 可以把要插入的数据先存在dataset.datatable内一次提交。具体怎么做?
      

  10.   

    关于进行批量作业,你要具体说说你的问题,其实无论怎样,到数据库还是一条条的insert.
    insert ...
    select * from ...
    的意思,是比如将一个表的内容插入到另一个表的时候,(假设两个表的字段一样)
    insert table1
    select * from table2
      

  11.   

    insert语句是不是只有这种表对表的整体插入方法?如果是dataset的datatable表怎么做整表insert到数据库