sql >> Base de Datos >  >> RDS >> Sqlserver

Cree un tipo de tabla definido por el usuario en C# para usar en el procedimiento almacenado del servidor sql

La opción más simple es crear una DataTable en código C# y páselo como parámetro a su procedimiento. Suponiendo que ha creado un tipo de tabla definida por el usuario como:

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

entonces en tu código C# harías:

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

Recuerde especificar SqlDbType.Structured como el tipo de parámetro y especifique el nombre que ha utilizado para crear su UDT.