Vb.net 如何使用datagrid将数据插入数据库
我想使用datagrid视图将数据插入SQL server数据库。我向网格中添加了一些数据,需要使用for循环提交这些数据Vb.net 如何使用datagrid将数据插入数据库,vb.net,datagridview,Vb.net,Datagridview,我想使用datagrid视图将数据插入SQL server数据库。我向网格中添加了一些数据,需要使用for循环提交这些数据 Dim i, rowCount As Integer rowCount = dgOrder.Rows.Count For i = 0 To (rowCount - 1) objcon.DoExecute("INSERT INTO OrderMF (ItemType,ItemNm,UnitPrice,Quantity,Discount,TotalValue,Free
Dim i, rowCount As Integer
rowCount = dgOrder.Rows.Count
For i = 0 To (rowCount - 1)
objcon.DoExecute("INSERT INTO OrderMF (ItemType,ItemNm,UnitPrice,Quantity,Discount,TotalValue,FreeItem)VALUES('" _
& dgOrder.Item(i, 1).Value & "','" _
& dgOrder.Item(i, 0).Value & "','" _
& txtOrdNo.Text & "','" _
& dgOrder.Item(i, 3).Value & "','" _
& dgOrder.Item(i, 2).Value & "','" _
& dgOrder.Item(i, 5).Value & "','" _
& dgOrder.Item(i, 4).Value & "','" _
& dgOrder.Item(i, 6).Value & "')")
If objcon.m_Success = "0" Then
MsgBox("Record Added Successfully", MsgBoxStyle.Information, "ROBBIALAK")
Call ClearFields1()
cmdOrder.Enabled = False
End If
Next
这是我的按钮点击代码。但它不适用于我。它得到一个异常,称索引超出范围。必须为非负且小于集合的大小,参数名称:index。在此代码中,dgorder是我的datagridview名称,我使用了一个方法调用DoExecute来执行SQL字符串。请帮助我解决此问题。与直觉相反,它是。ItemcolumnIndex,rowIndex不是。ItemrowIndex,columnIndex。幸运的是还有.ItemcolumnName、rowIndex,我建议您使用它,因为这样会大大提高可读性。所以我认为你应该改变
dgOrder.Item(i, 1).Value
到
如果列名是ItemType等等
此外,您似乎正在尝试插入比指定的列更多的值
项目类型,
ItemNm,
单价,
量
折扣
总价值,
FreeItem-7列:
dgOrder.Itemi,1.Value&','u
&dgOrder.Itemi,0.Value&','_
&txtOrdNo.Text&','u
&dgOrder.Itemi,3.Value&','u
&dgOrder.Itemi,2.Value&','u
&dgOrder.Itemi,5.Value&','_
&dgOrder.Itemi,4.Value&','_
&dgOrder.Itemi,6.Value&'-8个值
dgOrder.Item("ItemType", i).Value