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
Libérer: 2025-01-11 10:57:42
original
1024 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal