我遇到了一些奇怪的事情,我不确定它为什么会这样。在 for each 循环中,我将行添加到表中以进行交叉引用。使用以下代码:
For Each cp In pCheckPoints
If cp <> String.Empty Then
Dim insertSQL As New StringBuilder
With insertSQL
.Append("INSERT INTO [CheckpointMessage] ( ")
.Append(" [MessageID] ")
.Append(", [CheckPoint] ")
.Append(" ) VALUES ( ")
.Append(" @MessageID ")
.Append(", @Checkpoint ")
.Append(" ) ")
End With
Using objCommand As New SqlCommand(insertSQL.ToString, MySQLConnection)
With objCommand.Parameters
.AddWithValue("@MessageID", pMessageID)
.AddWithValue("@Checkpoint", cp)
End With
objCommand.ExecuteNonQuery()
objCommand.CommandText = String.Empty
End Using
End If
Next
如果没有 objCommand.CommandText = String.Empty 行,CommandText 会附加 insertSQL 但这对我来说没有任何意义,因为我希望 objCommand 的 commandText 为空,因为它位于 using 块中。