以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  传统写法如何获取储存过程的输出参数?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144196)

--  作者:happyft
--  发布时间:2019/12/13 11:18:00
--  传统写法如何获取储存过程的输出参数?
    Dim cklb As String
    Dim cmd As New SQLCommand
    cmd.ConnectionName = Mydata
    cmd.CommandText = "Exec usp_pd_price \'" & ck & "\', \'" & strID & "\',\'" & ds & "\',\'" & de & "\'," & cklb & " output "
    \'cmd.CommandText = "exec usp_pd_price ?,?,?,? ,? output" \'带输出参数
    \'cmd.Parameters.Add("@ck",ck) \'输入参数
    \'cmd.Parameters.Add("@strID",strID) \'输入参数
    \'cmd.Parameters.Add("@ds",ds) \'输入参数
    \'cmd.Parameters.Add("@de",de) \'输入参数
    \'cmd.Parameters.Add("@cklb", "", True) \'输出参数
    cmd.ExecuteNonQuery
    \'msgbox(cmd.Parameters("@cklb"))
    msgbox(cklb)

用上面注释掉的语句可以正确得到储存过程传回的输出参数值,但用红色传统的写法msgbox中却显示空值,应该如何写才正确?

谢谢!

--  作者:有点蓝
--  发布时间:2019/12/13 11:47:00
--  
只能使用注释掉的用法