如何取出存储过程的输出参数的值

maysungirl_cdl 2006-08-16 01:58:08
存储过程如下:
ALTER PROCEDURE dbo.sele_ypdd
(@PM VARCHAR(50) OUTPUT
)
AS
begin
SELECT heyuehao,prodtype,pm FROM ypdd where id=1234 ORDER BY HEYUEHAO
SET NOCOUNT ON;
DECLARE cur_1 CURSOR FOR SELECT dq FROM ypdd where id=1234 ORDER BY HEYUEHAO
open cur_1;
FETCH cur_1 INTO @pm;
end
取@PM如下
Dim param As SqlClient.SqlParameter
param = New SqlClient.SqlParameter("@pm", SqlDbType.VarChar)
param.Direction = ParameterDirection.Output
SqlDataAdapter3.SelectCommand.Parameters.Add(param)
param.Value = "adfadfs"
kf.Text = SqlDataAdapter3.SelectCommand.Parameters.Item("@pm").Value

kf.text结果为空
!!!很郁闷,直接运行存储过程,@PM有返回值,在VB.NET里面却什么也没有
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
maysungirl_cdl 2006-08-16
  • 打赏
  • 举报
回复
取出的是“adfadfs”而不是存储过程中的值
maysungirl_cdl 2006-08-16
  • 打赏
  • 举报
回复
我加上去了,还是不行
Knight94 2006-08-16
  • 打赏
  • 举报
回复
yun~

看错了,在
SqlDataAdapter3.SelectCommand.Parameters.Add(param)
之后,要重新定义
SqlDataAdapter3.SelectCommand.Parameters("@pm").Direction = ParameterDirection.Output
Knight94 2006-08-16
  • 打赏
  • 举报
回复
存储的返回值只能是整型,你的是字符型,不可能通过返回获得,改成out参数。
cansum396 2006-08-16
  • 打赏
  • 举报
回复
在存储过程的最后要加一句
return @pm

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧