Alter procedure budgetno_proc
@wono varchar(max),
@retvalue varchar(max) output
as
begin
declare @budno varchar(max)
if not exists(select * from budgetdet where [email protected])
begin
set @budno =LEFT(@wono,13)+'-'+RIGHT('0'+CAST((SELECT ISNULL(MAX(CONVERT(INT,LEFT(@wono,13))),0)+1 from budgetdet WHERE [email protected]) AS VARCHAR(20)),1)
end
else
begin
set @budno=LEFT(@wono,13)+'-'+'1R'+'-'+RIGHT('000'+CAST((SELECT MAX(CONVERT(INT,SUBSTRING(budno,18,LEN(budno))))+1 from budgetdet WHERE [email protected]) AS VARCHAR(20)),3)
end
set @retvalue = @budno
end
這是我的存儲過程與輸出參數。如何從存儲過程獲得值
這是我的C#代碼:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["gdb"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("budgetno_proc", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@wono",Workorder_txt.Text);
SqlParameter param = new SqlParameter("@retvalue", SqlDbType.VarChar,30);
param.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param);
string budgetnum = (string)cmd.Parameters["@retvalue"].Value;
cmd.ExecuteNonQuery();
con.Close();
我不能從程序@retvalue
值。
我必須做出什麼改變?請注意它。
感謝
當參數返回它顯示錯誤值未通過msg.when我把它設置爲輸出,它什麼都沒顯示 – Gopi