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

Comment transmettre des paramètres table d'ADO.NET aux procédures stockées SQL Server ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-11 06:28:42738parcourir

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

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

Ce guide montre comment transmettre des données structurées, telles que des tables ou des tableaux, aux procédures stockées SQL Server à l'aide des paramètres table d'ADO.NET. Suivez ces étapes :

  1. Définissez un type de table défini par l'utilisateur SQL Server : Utilisez l'instruction CREATE TYPE pour structurer vos données table. Par exemple :
<code class="language-sql">CREATE TYPE [dbo].[MyDataType] AS TABLE
(
    ID INT,
    Name NVARCHAR(50)
)</code>
  1. Créez la procédure stockée : Déclarez le paramètre table en tant que paramètre d'entrée en lecture seule dans votre procédure stockée. Exemple :
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END</code>
  1. Remplissez un DataTable en C# : Créez un DataTable dans votre code C# et remplissez-le avec les données que vous avez l'intention de transmettre.
<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>
  1. Créez et ajoutez le paramètre SQL : Créez un SqlParameter objet et définissez ses propriétés :
  • ParameterName : doit correspondre au nom du paramètre de la procédure stockée.
  • SqlDbType : Réglez sur Structured.
  • Value : attribuez le DataTable comme valeur.

Ajoutez ce paramètre à votre objet de commande :

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

En suivant ces étapes, vous pouvez transmettre efficacement les paramètres table de votre application ADO.NET aux procédures stockées SQL Server.

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