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

在我们平时的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(name) values (@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的两种方法,都可以完成向数据库批量插入数据。

    本文题目:在ASP.NET中向数据库批量插入数据
    标题URL:http://www.hantingmc.com/qtweb/news30/324430.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联