有几千条记录要insert到数据库,现在做成单条循环插入的,有点慢,
想做成批量提交,应该能快点吧
请各位批点!

解决方案 »

  1.   

    insert into 表名(字段名,N,.....)select * from 表名
      

  2.   

    把这些数据编写成一个XML的文档格式,然后把这个XML传到数据库中,用数据库的XML处理一次性把这些内容当做一个表的内容Insert到你的数据库的表中。如果是SqlServer的话可以参见:
    sp_xml_preparedocument,OPENXML和sp_xml_removedocument的用法。
      

  3.   

    可用insert into 和select into 
    如果是倒入数据,还可以用dts工具等
      

  4.   

    方法一:在查询管理器中,用
    insert into 表名()
    select 列名1,列名2...from 源表名方法二:用Data Application Block的Fill方法
      

  5.   

    注:后面的select 查询出来是多条记录,可同时插入多条,但后面查询出来的字段要合insert里的相同
      

  6.   

    不知道用SqlDataAdapter.InsertCommand可不可以,这个好像也能处理批量提交数据的。
      

  7.   

    要想批量提交,就要批量的传到数据库中,要想批量的传到数据库中就要想办法把数据组织起来再传到数据加,怎么组织呢,用XML的格式来处理是一种方法,同时数据库是支持XML的解析的。楼主可以考虑一下这个方法嘛。
      

  8.   

    当然用XML传入数据库用存储过程是来做是最合适的。
    另外也可以考虑用数据适配器的Update方法也是可以的。不过我不喜欢用这个东西。
      

  9.   

    楼上的兄弟,来看一下,用XLM方法怎么做啊!
    批量的数据还是动态产生的,这样可以吗?
      

  10.   

    当然可以了!
    你可以把你的数据用XmlDocument编写成一个XML字符串,然后传到存储过程里。比如如下的一个格式就行:
    <?xml version="1.0" encoding="gb2312"?>
    <Root>
    <Details>
    <Row ID=1 Name='li' age='28' money='5000.00'/>
    <Row ID=2 Name="wang' age='23' money='6000.00'/>
    ...
    </Details>
    </Root>
      

  11.   

    除了用XML方法,应该还有其它的批量提交方法吧
      

  12.   

    一次写上100条插入语句用回车隔开一起执行,不就行了 ====CSDN 小助手 V2.0 2005年10月16日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
    下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
    拒绝日货。
      

  13.   

    如果是B/S结构只能是一条一条的Insert进去了。因为你无论用什么控件,到最后也是要产生Insert语句提交给数据库的,因为数据库只认Sql语句。
      

  14.   

    先循环插入到DateSet中,然后updata
      

  15.   

    用Insert语句最快!或者将全部Insert语句构成一个存储过程,运行后再删除该存储过程。
      

  16.   

    我也时常有大量插入资料的需求,有时一做就是30000笔资料,若一次大量插入资料库时
    会耗费很多时间和资源,而且会影响到其他资料库运行,因此我的思考是相反的,为了
    避免插入资料时造成资料库跑不动,我在插入资料时会使用timer或是排程(at),每3秒
    钟才insert 1或2笔资料,如此一来我在插入资料时就不会造成资料库的lag了,其他程序
    也可以正常运行。