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