sycateye 2022-07-21 10:06 采纳率: 0%
浏览 6

VB在循环中调用存储过程第二次循环时提示错误

VB在for循环中调用存储过程,第一次时正常输出查询结果,第二次循环就提示“指定了过多的参数”
Private Sub cmdCX_Click()

Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command
If List1.ListItems.count = 0 Then Exit Sub

cmd.ActiveConnection = ADCPZSXT 'mConn  指定连接的数据库
cmd.CommandText = "[ElectronicTracking].[dbo].[GetJidianqi]"   '指定调用的存储过程名称
cmd.CommandType = adCmdStoredProc    '将 CommandText 作为存储过程名进行计算
ADCPZSXT.CursorLocation = adUseClient

For I = 1 To List1.ListItems.count
strWhere = Trim(List1.ListItems(I).SubItems(2))
Set param = cmd.CreateParameter(" @strWhere", adChar, adParamInput, 400, strWhere)
'Set param = cmd.CreateParameter(, adChar, adParamInput, 300, strWhere)
cmd.Parameters.Append param
Set rs = cmd.Execute()
List1.ListItems(I).SubItems(3) = IIf(IsNull(rs("产品名称")), "", rs("产品名称"))
List1.ListItems(I).SubItems(4) = IIf(IsNull(rs("图号")), "", rs("图号"))
List1.ListItems(I).SubItems(5) = IIf(IsNull(rs("机械检工作者")), "", rs("机械检工作者"))
List1.ListItems(I).SubItems(6) = IIf(IsNull(rs("机械检扫描员")), "", rs("机械检扫描员"))
List1.ListItems(I).SubItems(7) = IIf(IsNull(rs("电气检工作者")), "", rs("电气检工作者"))
List1.ListItems(I).SubItems(8) = IIf(IsNull(rs("电气检扫描员")), "", rs("电气检扫描员"))
List1.ListItems(I).SubItems(9) = IIf(IsNull(rs("包装扫描员")), "", rs("包装扫描员"))
List1.ListItems(I).SubItems(10) = IIf(IsNull(rs("铁道部条码")), "", "正常")
List1.ListItems(I).SubItems(11) = IIf(IsNull(rs("合同号")), "", rs("合同号"))
List1.ListItems(I).SubItems(12) = IIf(IsNull(rs("车站代码")), "", rs("车站代码"))
Set rs = Nothing
Set param = Nothing
Next

Exit Sub

End Sub

在“ Set rs = cmd.Execute()”这句提示错误,实时错误‘-2147217900(880040e14)' SQL为过程或函数GetJidianqir指定了过多的参数。

我的解答思路和尝https://img-mid.csdnimg.cn/release/static/image/mid/ask/224118863856180.png "#left")

试过的方法

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 浪客 2022-07-21 10:34
    关注

    Set param = cmd.CreateParameter(" @strWhere", adChar, adParamInput, 400, strWhere)
    给存储过程传了5个参数。你的存储过程能接收几个参数呢

    评论

报告相同问题?

问题事件

  • 创建了问题 7月21日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错