Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Créer un type de table défini par l'utilisateur en c # à utiliser dans la procédure stockée du serveur sql

L'option la plus simple consiste à créer un DataTable dans le code C# et transmettez-le en paramètre à votre procédure. En supposant que vous avez créé un type de tableau défini par l'utilisateur en tant que :

CREATE TYPE [dbo].[userdefinedtabletype] AS TABLE(
    [ID] [varchar](255) NULL,
    [Name] [varchar](255) NULL
)

alors dans votre code C# vous feriez :

DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof (string));
dt.Columns.Add("Name", typeof (string));
//populate your Datatable

SqlParameter param = new SqlParameter("@userdefinedtabletypeparameter", SqlDbType.Structured)
{
    TypeName = "dbo.userdefinedtabletype",
    Value = dt
};
sqlComm.Parameters.Add(param);

N'oubliez pas de spécifier SqlDbType.Structured comme type de paramètre et spécifiez le nom que vous avez utilisé lors de la création de votre UDT.