【发布时间】:2012-10-05 05:15:49
【问题描述】:
我正在使用输出参数从存储过程中返回值。
存储过程中的声明是:@GrandTtl DECIMAL(19,3) OUT
SELECT 查询是:
SET @GrandTtl = (SELECT TOP 1 Bill_Amount
FROM Tbl_Restaurant_Kitchen_Order_Bill_Details
WHERE Bill_Number = @billno)
例如,选择查询返回值4087.67,则输出参数值从SQL Server 到C# 返回为4088。
这是调用存储过程的 C# 代码:
SqlCommand cmd = new SqlCommand("Sp_RestCC_BillDetails", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter OutParam26 = cmd.Parameters.Add("@GrandTtl", SqlDbType.Decimal,19);
da = new SqlDataAdapter(cmd);
con.Open();
da.Fill(ds, "dtRestCC_Items");
con.Close();
objRCCBEL.GrandTtlOut = Convert.ToDecimal(cmd.Parameters["@GrandTtl"].Value);
【问题讨论】:
-
你能把调用这个过程的C#代码贴出来吗?
标签: c# sql-server sql-server-2008 stored-procedures output-parameter