ホームページ >データベース >mysql チュートリアル >ADO.NET から SQL Server ストアド プロシージャにテーブル値パラメーターを渡す方法
ADO.NET を使用してテーブル値パラメーターを SQL Server ストアド プロシージャに渡す
このガイドでは、ADO.NET のテーブル値パラメーターを使用して、テーブルや配列などの構造化データを SQL Server ストアド プロシージャに送信する方法を説明します。 次の手順に従ってください:
CREATE TYPE
ステートメントを使用して、テーブル値データを構造化します。 例:<code class="language-sql">CREATE TYPE [dbo].[MyDataType] AS TABLE ( ID INT, Name NVARCHAR(50) )</code>
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure] ( @myData [dbo].[MyDataType] READONLY ) AS BEGIN SELECT * FROM @myData END</code>
DataTable
を作成し、渡すデータをそれに取り込みます。<code class="language-csharp">DataTable myDataTable = new DataTable("MyDataType"); myDataTable.Columns.Add("Name", typeof(string)); myDataTable.Columns.Add("Id", typeof(Int32)); myDataTable.Rows.Add("XYZ", 1); myDataTable.Rows.Add("ABC", 2);</code>
SqlParameter
オブジェクトを作成し、そのプロパティを設定します:ParameterName
: ストアド プロシージャのパラメーター名と一致する必要があります。SqlDbType
: Structured
に設定します。Value
: DataTable
を値として割り当てます。次のパラメータをコマンド オブジェクトに追加します:
<code class="language-csharp">SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@myData"; parameter.SqlDbType = System.Data.SqlDbType.Structured; parameter.Value = myDataTable; command.Parameters.Add(parameter);</code>
次の手順に従うことで、ADO.NET アプリケーションから SQL Server ストアド プロシージャにテーブル値パラメーターを効率的に渡すことができます。
以上がADO.NET から SQL Server ストアド プロシージャにテーブル値パラメーターを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。