以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 循环中使用储存过程返回值出错? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148415) |
-- 作者:happyft -- 发布时间:2020/4/7 16:09:00 -- 循环中使用储存过程返回值出错? Dim pr As Row = Tables(e.form.Name & "_主表").current If pr IsNot Nothing Then \'--BOM完整性检查 Dim drs As List(of DataRow) = DataTables(e.form.Name & "_明细").Select("订单编号 = \'" & pr("订单编号") & "\'" ) If drs.count > 0 Then Dim cmd As new SQLCommand cmd.ConnectionName = Mydata For Each dr As DataRow In drs cmd.CommandText = "exec usp_bom_chk10 ?,? output" cmd.Parameters.Add("@产品编码",dr("产品编码")) \'输入参数 cmd.Parameters.Add("@返回值", "", True) \'输出参数 cmd.ExecuteNonQuery dr("BOM检查") = cmd.Parameters("@返回值") msgbox(110) Next End If End If 上述代码循环第一次可以正确显示110,后面就出错了 错误提示为"已添加了具有相同键的项。" 请问下要如何处理,谢谢! |
-- 作者:有点蓝 -- 发布时间:2020/4/7 16:28:00 -- For Each dr As DataRow In drs cmd.CommandText = "exec usp_bom_chk10 ?,? output" cmd.Parameters.clear cmd.Parameters.Add("@产品编码",dr("产品编码")) \'输入参数 cmd.Parameters.Add("@返回值", "", True) \'输出参数 cmd.ExecuteNonQuery dr("BOM检查") = cmd.Parameters("@返回值") msgbox(110)
|