C# で戻り値を使用してストアド プロシージャを呼び出す
データベースにアクセスする際の一般的なニーズは、アプリケーションからストアド プロシージャ、特に数値を返すストアド プロシージャを呼び出すことです。この記事では、ADO.NET を使用して、整数値を返すストアド プロシージャを呼び出し、C# アプリケーションで結果を取得する方法を説明します。
ストアド プロシージャ
シーケンス名を指定してシーケンスの次の値を取得するストアド プロシージャ usp_GetNewSeqVal
について考えてみましょう。 @SeqName
パラメータを入力として受け取り、新しいシーケンス値を返します。
C# コード
このストアド プロシージャを呼び出して戻り値を取得するには、次のコードを使用できます:
<code class="language-csharp">using (SqlConnection conn = new SqlConnection(getConnectionString())) using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = parameterStatement.getQuery(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SeqName", "SeqNameValue"); // @ReturnVal 可以是任何名称 var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue; conn.Open(); cmd.ExecuteNonQuery(); var result = returnParameter.Value; }</code>
重要な詳細
SqlCommand
正しいコマンド テキストと入力を使用して設定します。 @SeqName
がコマンドに追加されます。 @ReturnVal
を追加し、その方向を ParameterDirection.ReturnValue
に設定します。これは、ストアド プロシージャ内に変数を作成し、戻り値をそれに割り当てるようにコマンドに指示します。 ExecuteNonQuery
を使用してクエリが実行されます。 returnParameter.Value
属性から取得できます。 以上がADO.NET を使用して C# でストアド プロシージャから戻り値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。