2

重複の可能性:
C#のストアドプロシージャから戻り値を取得する

ac#winformアプリケーションで次のSQL関数を使用しているim

create function dbo.GetLookupValue(@value INT)
returns varchar(100)
as begin
  declare @result varchar(100)

  select
    @result = somefield
  from 
    yourtable
  where 
    ID = @value;

  return @result
end

私の質問は:返された@resultをc#で読み取るにはどうすればよいですか?

4

1 に答える 1

8

SELECT dbo.(function)値を取得するには、次のようなステートメントを使用する必要があります。

using(SqlConnection conn = new SqlConnection("server=.;database=TEST;Integrated Security=SSPI;"))
using (SqlCommand cmd = new SqlCommand("SELECT dbo.GetLookupValue(42)", conn))
{
    conn.Open();
    var result = cmd.ExecuteScalar();
    conn.Close();
}

これにより、関数が実行され、結果の値が C# アプリに返されます。

于 2012-04-22T08:07:13.723 に答える