Maison >base de données >tutoriel mysql >Comment transmettre des paramètres table aux procédures stockées à l'aide d'ADO.NET ?

Comment transmettre des paramètres table aux procédures stockées à l'aide d'ADO.NET ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-11 10:57:42974parcourir

How to Pass Table-Valued Parameters to Stored Procedures using ADO.NET?

Utilisation d'ADO.NET pour transmettre des paramètres table aux procédures stockées

Les paramètres table fournissent une méthode simplifiée pour transmettre des ensembles de données aux procédures stockées. Ce guide montre comment implémenter cette fonctionnalité dans ADO.NET.

1. Définition d'un type de table défini par l'utilisateur dans SQL Server

Tout d'abord, créez un type de table défini par l'utilisateur dans votre base de données SQL Server pour servir de structure à votre paramètre table :

<code class="language-sql">CREATE TYPE [dbo].[MyDataType] As Table
(
    ID INT,
    Name NVARCHAR(50)
)</code>

2. Création de procédures stockées

Ensuite, créez une procédure stockée qui accepte ce type de table défini par l'utilisateur comme paramètre :

<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END</code>

3. Construction de tables de données en C#

Dans votre code C#, créez un DataTable pour refléter la structure de votre type de table SQL Server :

<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. Configuration des paramètres SQL

Enfin, créez un objet SqlParameter et configurez-le pour représenter votre paramètre table :

<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>

En suivant ces étapes, vous pouvez transmettre efficacement des paramètres table à vos procédures stockées à l'aide d'ADO.NET. N'oubliez pas de remplacer [dbo].[MyDataType] par le nom réel de votre type de table défini par l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn