以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  ft中如何调用带输出参数的储存过程  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=120425)

--  作者:happyft
--  发布时间:2018/6/15 8:24:00
--  ft中如何调用带输出参数的储存过程

图片点击可在新窗口打开查看此主题相关图片如下:储存过程.jpg
图片点击可在新窗口打开查看


在sql中执行都可以正常得到值,但在foxtable中如何得到这个输出参数值
  Dim bh As String
        Dim cmd As New SQLCommand
        cmd.ConnectionName = Mydata
        cmd.CommandText = "Exec usp_tbautoID \'" & Mtb & "\'," & bh & " output"
        bh = cmd.ExecuteScalar
   msgbox(bh)
        e.DataRow(cname) = bh

这样运行msgbox显示bh是空的,什么也没有,哪里有问题呢?

谢谢!


--  作者:有点甜
--  发布时间:2018/6/15 8:43:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=88555&skin=0

 


--  作者:有点甜
--  发布时间:2018/6/15 8:46:00
--  

结合2楼,看懂下面代码。

 

Dim Cnn As New Data.OleDB.OleDbConnection(Connections("T").ConnectionString)
Cnn.Open()
Dim adoCmd As New Data.OleDB.OleDbCommand("dbo.proc_bom_constrast", Cnn)
adoCmd.CommandType = System.Data.CommandType.StoredProcedure
adoCmd.Parameters.AddWithValue("@bomType", "bom")
adoCmd.Parameters.AddWithValue("@bomnum", 0)
adoCmd.Parameters.Add("@pid", System.Data.OleDb.OleDbType.VarChar, 80)
\'adoCmd.Parameters("@pid").Value ="returnPid"
adoCmd.Parameters("@pid").Direction = System.Data.ParameterDirection.Output
adoCmd.ExecuteNonQuery()
output.show(adoCmd.Parameters("@pid").Value.ToString())

--  作者:HappyFt
--  发布时间:2018/6/15 9:15:00
--  
没想到要这样调用,还以为与普通只有输入参数那样调用就行,可以了,谢谢!


--  作者:有点甜
--  发布时间:2018/6/15 9:30:00
--  
以下是引用HappyFt在2018/6/15 9:15:00的发言:
没想到要这样调用,还以为与普通只有输入参数那样调用就行,可以了,谢谢!

 

如果单纯想得到结果,你可以最后返回一个表格嘛。