Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用datagrid将数据插入数据库_Vb.net_Datagridview - Fatal编程技术网

Vb.net 如何使用datagrid将数据插入数据库

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

我想使用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,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