目前使用的方法,是在程序中,循环数据集,向sqlserver中逐条提交.速度较慢.听说过一点整个数据集提交sql的方式会提升不少速度,求高人指点.

解决方案 »

  1.   

    那得看什么数据了,如果可以批量修改,那么update最快,如果每条信息不能一起的话,只能逐条
      

  2.   

    虽然可以,不过用起来不方便,因此我最初用过几次后也放弃了。首先必须要在SQLSERVER里面建立自定义表类型,然后参数传递时,选择SqlDbType.Structured,例如:
    cmd.Parameters.Add(new SqlParameter("@T_TABLE1", SqlDbType.Structured) { Value = dt1, TypeName = "T_TABLE1" });这里的dt1是DataTable,数据库中对应了一个叫T_TABLE1的自定义表类型。
    因为每次传递DataTable都要事先在SQLSERVER里构建一个自定义表类型,实在麻烦,所以放弃。
      

  3.   

    将整个table传入,我在存储过程上要做什么修改么?会帮我自动逐行循环么?
      

  4.   

    SqlDataBulk类可以解决这个问题,内存中的表和数据库的标作映射,然后一提交就可以了