ホームページ >データベース >mysql チュートリアル >ADO.NET を使用してテーブル値パラメーターをストアド プロシージャに渡す方法
ADO.NET を使用してテーブル値パラメーターをストアド プロシージャに渡す
テーブル値パラメーターは、データセットをストアド プロシージャに渡すための効率的な方法を提供します。このガイドでは、ADO.NET 内でこの機能を実装する方法を説明します。
1. SQL Server でのユーザー定義テーブル タイプの定義
まず、テーブル値パラメーターの構造として機能するユーザー定義のテーブル タイプを SQL Server データベース内に作成します。
<code class="language-sql">CREATE TYPE [dbo].[MyDataType] As Table ( ID INT, Name NVARCHAR(50) )</code>
2.ストアド プロシージャの作成
次に、このユーザー定義のテーブル タイプをパラメータとして受け入れるストアド プロシージャを作成します。
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure] ( @myData [dbo].[MyDataType] READONLY ) AS BEGIN SELECT * FROM @myData END</code>
3. C# での DataTable の構築
C# コードで、SQL Server テーブル タイプの構造をミラーリングする DataTable を構築します。
<code class="language-csharp">DataTable myDataTable = new DataTable("MyDataType"); myDataTable.Columns.Add("Name", typeof(string)); myDataTable.Columns.Add("Id", typeof(int)); myDataTable.Rows.Add("XYZ", 1); myDataTable.Rows.Add("ABC", 2);</code>
4. SqlParameter 構成
最後に、SqlParameter オブジェクトを作成し、テーブル値パラメーターを表すように構成します。
<code class="language-csharp">SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@myData"; parameter.SqlDbType = System.Data.SqlDbType.Structured; parameter.TypeName = "[dbo].[MyDataType]"; // Specify the type name parameter.Value = myDataTable; command.Parameters.Add(parameter);</code>
これらの手順に従うと、ADO.NET を使用してテーブル値パラメーターをストアド プロシージャに効率的に渡すことができます。 [dbo].[MyDataType]
をユーザー定義のテーブル タイプの実際の名前に置き換えることを忘れないでください。
以上がADO.NET を使用してテーブル値パラメーターをストアド プロシージャに渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。