用存储过程吧,这样可以快点
还有的是,看你用的是什么数据库,sql server的速度明显比access快

解决方案 »

  1.   

    业务代码没有问题,时间都耗在Update()上了
    我正考虑用存储过程,但是没有办法把一个数组传进去
    如果每次只传几个数组元素,那要调用很多次存储过程,速度可能也快不了
      

  2.   

    你不需要多次调用存储过程。
    可以这样做:
    1。生成一个sqlcommand, 不要给prameter设值, 但要设sourcecolumn属性为source表的相应
    列名.
    2. 将上述sqlcommand赋给sqldataadapter.insertcommand
    3. 在用你的一次性更新.(dataset中最好除待insert的数据外不要有其他的数据)
      

  3.   

    同意,用存储过程
    create procedure xxxxx
    @xxxx varchar(50),
    @xxx int
    as
    insert to 表名(xxxx,xxx)
    value (@xxxx,@xxx)程序中用
    exec xxxxx 'xxxx','22334'
      

  4.   

    多谢各位!用存储过程后速度提高近10倍
    方法一:每插入一条记录,执行command.ExecuteNonQuery();
    方法二:如JoeM所言每插入一条记录,DataSet.Tables[].Rows.Add( new DataRow);最后一次性Update()
    两种方法速度相差不多,其实后一种方法也是多次调用存储过程,只是放在一次提交中操作。