出力パラメータを使用して、ストアド プロシージャから値を返しています。
ストアド プロシージャの宣言は次のとおりです。@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
を返し、出力パラメーター値は4088
SQL Server から C# に返されます。
ストアド プロシージャを呼び出す 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);