ホームページ > データベース > mysql チュートリアル > ADO.NET を使用してテーブル値パラメーターをストアド プロシージャに渡す方法

ADO.NET を使用してテーブル値パラメーターをストアド プロシージャに渡す方法

Barbara Streisand
リリース: 2025-01-11 10:57:42
オリジナル
1028 人が閲覧しました

How to Pass Table-Valued Parameters to Stored Procedures using 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート