通过循环将记录从datagridview插入sql表时出错
每当我试图从datagridview插入记录时,它都会显示以下消息。 “索引超出了数组的边界。” //那么如何控制循环索引呢。代码如下通过循环将记录从datagridview插入sql表时出错,sql,vb.net,datagridview,Sql,Vb.net,Datagridview,每当我试图从datagridview插入记录时,它都会显示以下消息。 “索引超出了数组的边界。” //那么如何控制循环索引呢。代码如下 cmd = New SqlCommand("INSERT INTO TestTable VALUES (@Name, @Name1, @fname,@fname1)", cn) Dim InsertCommands() = {"@name", "@name1", "@fname", "@fname1"} Dim InsertCommandsInd
cmd = New SqlCommand("INSERT INTO TestTable VALUES (@Name, @Name1, @fname,@fname1)", cn)
Dim InsertCommands() = {"@name", "@name1", "@fname", "@fname1"}
Dim InsertCommandsIndex As Integer = 0
For col = 0 To DataGridView1.ColumnCount - 1
For row = 0 To DataGridView1.RowCount - 1
cmd.Parameters.AddWithValue(InsertCommands(InsertCommandsIndex), DataGridView1.Rows(row).Cells(col).Value)
InsertCommandsIndex += 1
Next
Next
cmd.ExecuteNonQuery()
MessageBox.Show("New Record Saved Successfully!", "Save", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
如果DGV的
allowUserToAddress
为true(默认值),则可能是迭代了太多行
For col As Integer = 0 To DataGridView1.ColumnCount - 1
InsertCommandsIndex = 0
For row As Integer = 0 To DataGridView1.RowCount - 1
cmd.Parameters.AddWithValue(InsertCommands(InsertCommandsIndex), DataGridView1.Rows(row).Cells(col).Value)
InsertCommandsIndex += 1
Next
Next