对'的参数太多';在VB.net中
我试图从列表字段中保存多个数据,如何一次保存所有数据? 我试过这个代码对'的参数太多';在VB.net中,vb.net,Vb.net,我试图从列表字段中保存多个数据,如何一次保存所有数据? 我试过这个代码 Dim detail As New Detail Dim detailBr As New DetailBridge Dim i As Integer For i = 0 To lstProduct.Items.Count - 1 detail = detailBr.Insert(Convert.ToInt32(ddlGroup.SelectedValue), lstProdu
Dim detail As New Detail
Dim detailBr As New DetailBridge
Dim i As Integer
For i = 0 To lstProduct.Items.Count - 1
detail = detailBr.Insert(Convert.ToInt32(ddlGroup.SelectedValue), lstProduct.Items(i).Value) 'error was here
Next
但是我在lstProduct.Items(I.Value)中得到了一个错误
“…”的参数太多
我不确定错误是什么
有人能帮忙吗?谢谢你的建议
更新:detailBr
为类,代码为
Public Function Insert(ByVal GroupID As Integer, ByVal ProductID As String) As Boolean
Dim iResult As Integer
Dim arrColumn() As String = {"GroupID", "ProductID"}
Dim arrValue() As Object = {GroupID, ProductID}
oConn.Open()
Dim SQLString As String = GenInsert("DetailGroup", arrColumn, arrValue)
Try
iResult = SCommand.Execute(SQLString, oConn)
Catch ex As Exception
Throw ex
Finally
oConn.Close()
End Try
If iResult > 0 Then
Return True
Else
Return False
End If
End Function
这里的问题是GenInsert函数。它的最后两个参数是数组
Dim arrColumn() As String = {"GroupID", "ProductID"}
Dim arrValue() As Object = {GroupID, ProductID}
Dim SQLString As String = GenInsert("DetailGroup", arrColumn, arrValue)
一个过程只能定义一个参数数组,它必须是过程定义中的最后一个参数
简单地说,在GenInsert函数中只能有一个参数作为数组,即arrColumn或arrValue
但是,为了解决当前的问题,您可以使用二维数组作为参数,如和无论detailBr
是什么,插入方法不接受2个参数detailBr
是类,已经更新了我的问题。什么是lstProduct,一个列表框?它是否存储类型?lstProduct是ListBox您忽略的错误部分是什么?为什么不在帖子中包含整个错误消息?您只能有一个参数作为array
这不是真的。只能将一个参数定义为ParamArray
,但可以定义。但措辞令人困惑。这也不是OP所说的他们得到错误的那一行,但他们不是很清楚。@Protoix是的措辞(直到现在)令人困惑,谢谢澄清。