0

データテーブル (dtItem) をループし、各行をデータベースに挿入する次のコードがあります。ただし、データテーブルの最後の行しか挿入できません。すべての行を挿入するにはどうすればよいですか? これが私のコードです。

Dim dtRow を DataRow として

            For Each dtRow In dtItem.Rows

                dtRow.ToString.Split("|")

                Dim xBinCode As String = dtRow(0)
                Dim xLocationCode As String = dtRow(7)
                Dim xItemNo As String = dtRow(1)
                Dim xQuantity As String = dtRow(2)
                Dim xCountNo As String = dtRow(8)

                cmd.CommandText = "INSERT INTO tblItems (BinCode, LocationCode, ItemNo, Quantity, CountNo) values('" & xBinCode & "','" & xLocationCode & "','" & xItemNo & "','" & xQuantity & "','" & xCountNo & "')"

            Next
4

2 に答える 2

2

データリーダーを使用する場合は、接続を開いてコマンドを使用する必要があります

cmd.ExecuteNonQuery

cmd.CommandText = "INSERT INTO tblItems (BinCode, LocationCode, ItemNo, Quantity, CountNo) values('" & xBinCode & "','" & xLocationCode & "','" & xItemNo & "','" & xQuantity & "','" & xCountNo & "')"

声明

于 2013-02-28T06:45:06.560 に答える
0

ここで何かが足りないようです。

サーバーに送信する前に、各行の SQL 挿入文を連結することができます。

一度に 1 行を送信する場合は、for ループ内でコマンドを構成して実行します。

DbDataAdapter を使用することもできます。次のページを参照してください。

http://msdn.microsoft.com/es-es/library/at8a576f(v=vs.90).aspx

http://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqldataadapter.insertcommand(v=vs.90).aspx

于 2012-11-01T08:49:57.087 に答える