0

我有以下代码循环遍历我的数据表(dtItem)并将每一行插入数据库。但是,我只能插入数据表的最后一行。我如何插入所有行?这是我的代码。

将 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 插入语句。

如果您想一次发送一行,请在 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 回答