出力パラメーターを通じてデータを返すストアド プロシージャを操作する場合、ADO.NET アプリケーション内の出力パラメーター値にアクセスすることが不可欠です。このガイドではプロセスを明確に説明します。
まず、出力パラメータを宣言し、その方向を Output
として指定します。 @ID
という名前の出力パラメータを宣言する方法は次のとおりです:
<code class="language-csharp">SqlParameter outputIdParam = new SqlParameter("@ID", SqlDbType.Int) { Direction = ParameterDirection.Output };</code>
次に、ストアド プロシージャを実行する前に、このパラメータを Parameters
オブジェクトの SqlCommand
コレクションに追加します。
実行後、SqlParameter
オブジェクトから出力値を取得します。 ただし、エラーを避けるためには、型キャストを慎重に行うことが重要です。 潜在的な null 値と型の不一致を考慮してください。
次のコードは、@ID
出力パラメータの整数値を取得するためのいくつかの方法を示しています。
<code class="language-csharp">// Method 1: String conversion and parsing int idFromString = int.Parse(outputIdParam.Value.ToString()); // Method 2: Direct casting int idFromCast = (int)outputIdParam.Value; // Method 3: Using a nullable integer (handles nulls) int? idAsNullableInt = outputIdParam.Value as int?; // Method 4: Using a default value if null int idOrDefaultValue = outputIdParam.Value as int? ?? default(int);</code>
重要なことは、SqlDbType
の作成時に使用される SqlParameter
は、データベースの出力パラメーターのデータ型と正確に一致する必要があります。 潜在的な型変換の問題と null 値は常に適切に処理されます。
以上がADO.NET で出力パラメータ値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。