分享

在ASP.NET中向数据库批量插入数据

 悟静 2010-07-11

在我们平时的ASP.NET开发过程中,经常要向数据库插入数据,有时可能要进行很多次类似的操作,比如向数据库中的同一个表同时插入若干数据,即批量插入数据。

向数据库中批量插入数据,可以将若干条数据一次插入到数据库,提高程序的执行效率,也可以减少我们的工作量。

ASP.NET批量插入数据,可以采用一下两种方法。

一、利用事务(Transaction)

‘定义执行批量插入数据的函数,参数为Insert SQL语句的数组

  1. Sub ExeTransaction   
  2. (Byval Sqlstrlist as string())   
  3. Dim Conn As String = "Provider=Microsoft.Jet.  
  4. OLEDB.4.0;Data Source=Tax.mdb"   
  5. Dim trans as OledbTransaction=Nothing   
  6. Try   
  7. If conn.State=connectionstate.closed then   
  8. Conn.open()   
  9. End if   
  10. Dim cmd as oledbCommand=new oledbcommand()   
  11. cmd.connection=conn   
  12. cmd.commandtype=commandtype.text   
  13. trans=conn.BeginTransaction()   
  14. cmd.Transaction=trans   
  15. dim I as integer   
  16. for I=0 to Sqlstrlist.GetupperBound(0)   
  17. cmd.commandText= Sqlstrlist(i) ‘取得参数(数组)中的值   
  18. cmd.ExecuteNonQuery()   
  19. Next   
  20. Trans.commit()   
  21. Catch ex as oledbexception   
  22. Trans.Rollback()   
  23. Fanlly   
  24. Conn.close()   
  25. End try   
  26. End sub 

二、利用Dataset

  1. public sub Insert()   
  2. ‘建立datatable数据源   
  3. dim dt as DataTable=New DataTable()   
  4. Dim dr as DataRow   
  5. Dt.Columns.Add(new DataColumn(“name”))   
  6. Dim j as Integer   
  7. For j =0 to 10   
  8. Dr=dt.newrow()   
  9. Dr(0)=”name”+j.toString   
  10. Dt.Rows.Add(dr)   
  11. Next   
  12. Dim Conn As String =   
  13. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tax.mdb"   
  14. Conn.open()   
  15. Dim MyAdapter as Oledbdataadapter=new OleDataAdapter()   
  16. ….   
  17. Dim cmd as Oledbcommand=New Oledbcommand  
  18. (“Insert Into table(namevalues (@name)”,conn)   
  19. cmd.parameters.item(“@name”).SourceColumns=dt.columns  
  20. (“name”).columnsName   
  21. myAdapter.update(dt)   
  22. conn.close()   
  23. end sub 

利用以上ASP.NET的两种方法,都可以完成向数据库批量插入数据。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多