在ASP.NET中,向資料庫批次插入資料 (轉)

worldblog發表於2007-08-17
在ASP.NET中,向資料庫批次插入資料 (轉)[@more@]

 

  在我們平時的開發過程中,經常要向插入資料,有時可能要進行很多次類似的操作,比如向資料庫中的同一個表同時插入若干資料,即批次插入資料。:namespace prefix = o ns = "urn:schemas--com::office" />

向資料庫中批次插入資料,可以將若干條資料一次插入道資料庫,提高的,也可以減少我們的工作量。

批次插入資料,可以採用一下兩種方法。

一、利用事務(Transaction)

‘定義執行批次插入資料的,引數為Insert 語句的陣列

 Sub ExeTransaction (Byval Sqlstrlist as string())

   Dim  Conn As String = "Provr=Microsoft.Jet.OLE.4.0;Data =Tax.mdb"

  Dim trans as OledbTransaction=Nothing

  Try

  If conn.State=connectionstate.closed then

Conn.open()

  End if

Dim cmd as oledbCommand=new oledbcommand()

cmd.connection=conn

cmd.commandtype=commandtype.text

trans=conn.BeginTransaction()

cmd.Transaction=trans

dim I as integer

 for I=0 to Sqlstrlist.GetupperBound(0)

  cmd.commandText= Sqlstrlist(i) ‘取得引數(陣列)中的值

  cmd.ExecuteNonQuery()

Next

Trans.commit()

Catch ex as oledbexception

  Trans.Rollback()

Fanlly

  Conn.close()

End try

  End sub

二、利用Dataset

public sub Insert()

  ‘建立datatable資料來源

  dim dt as DataTable=New DataTable()

  Dim dr as DataRow

  Dt.Columns.Add(new DataColumn(“name”))

Dim j as Integer

For j =0 to 10

  Dr=dt.newrow()

  Dr(0)=”name”+j.toString

Dt.Rows.Add(dr)

Next

  Dim  Conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tax.mdb"

Conn.open()

Dim MyAdapter as Oledbdataadapter=new OleDataAdapter()

….

Dim cmd as Oledbcommand=New Oledbcommand(“Insert Into table(name) values (@name)”,conn)

cmd.parameters.item(“@name”).SourceColumns=dt.columns(“name”).columnsName

myAdapter.update(dt)

conn.close()

end sub

利用以上的兩種方法,都可以完成向資料庫批次插入資料。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-962885/,如需轉載,請註明出處,否則將追究法律責任。

相關文章