sReturn
私は C# でこのコードを持っており、コードの出力パラメーターとして文字列を使用したいと考えています。
var sReturn = new SqlParameter();
sReturn.ParameterName = "@Return";
sReturn.SqlDbType = SqlDbType.VarChar;
sReturn.Size = 300;
sReturn.Direction = ParameterDirection.Output;
string query = "exec @Return = sqlServerProcedure @id, @dateBegin, @dateEnd";
_context.Database.CommandTimeout = timeout;
_context.Database.ExecuteSqlCommand
(query, sReturn,
new SqlParameter("@id", id),
new SqlParameter("@dateBegin", dateBegin),
new SqlParameter("@dateEnd", dateEnd) );
return sReturn.Value;
sReturn
は常に 0 を返します。
手順は次のようなものです。
CREATE PROCEDURE [dbo].sqlServerProcedure
(@dateBegin DATETIME,
@dateEnd DATETIME,
@id NUMERIC)
AS
BEGIN
SELECT 'some random message'
END
常に 0 を返すのはなぜですか?