sql >> Database >  >> RDS >> Sqlserver

Maak een door de gebruiker gedefinieerd tabeltype in c# om te gebruiken in de SQL Server opgeslagen procedure

De eenvoudigste optie is het maken van een DataTable in C#-code en geef het door als parameter aan uw procedure. Ervan uitgaande dat u een door de gebruiker gedefinieerd tabeltype hebt gemaakt als:

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

dan zou je in je C#-code het volgende doen:

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

Vergeet niet om SqlDbType.Structured op te geven als het type parameter en geef de naam op die u hebt gebruikt bij het maken van uw UDT.



  1. Oracle PLSQL-equivalent van ASCIISTR(N'str')

  2. Kunnen we parameters doorgeven aan een weergave in SQL?

  3. SSIS converteert Varchar2 naar DT_STR

  4. PL/Perl stuur mail in Postgresql