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

ADO.NET から SQL Server ストアド プロシージャにテーブル値パラメーターを渡す方法

Linda Hamilton
リリース: 2025-01-11 06:28:42
オリジナル
809 人が閲覧しました

How to Pass Table-Valued Parameters from ADO.NET to SQL Server Stored Procedures?

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

このガイドでは、ADO.NET のテーブル値パラメーターを使用して、テーブルや配列などの構造化データを SQL Server ストアド プロシージャに送信する方法を説明します。 次の手順に従ってください:

  1. SQL Server ユーザー定義テーブルの種類を定義します。 CREATE TYPE ステートメントを使用して、テーブル値データを構造化します。 例:
CREATE TYPE [dbo].[MyDataType] AS TABLE
(
    ID INT,
    Name NVARCHAR(50)
)
ログイン後にコピー
  1. ストアド プロシージャの作成: ストアド プロシージャ内でテーブル値パラメーターを読み取り専用の入力パラメーターとして宣言します。例:
CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END
ログイン後にコピー
  1. C# で DataTable にデータを取り込む: C# コードで DataTable を作成し、渡すデータをそれに取り込みます。
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);
ログイン後にコピー
  1. SQL パラメータを作成して追加します: SqlParameter オブジェクトを作成し、そのプロパティを設定します:
  • ParameterName: ストアド プロシージャのパラメーター名と一致する必要があります。
  • SqlDbType: Structuredに設定します。
  • Value: DataTable を値として割り当てます。

次のパラメータをコマンド オブジェクトに追加します:

SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@myData";
parameter.SqlDbType = System.Data.SqlDbType.Structured;
parameter.Value = myDataTable;
command.Parameters.Add(parameter);
ログイン後にコピー

次の手順に従うことで、ADO.NET アプリケーションから SQL Server ストアド プロシージャにテーブル値パラメーターを効率的に渡すことができます。

以上がADO.NET から SQL Server ストアド プロシージャにテーブル値パラメーターを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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