sql >> Databasteknik >  >> RDS >> Sqlserver

Classic ADO.NET - Hur skickar jag UDT till lagrad procedur?

Den här artikeln kan vara lite mer hjälp.

I huvudsak skapar du en ny datatabell som matchar schemat och skickar den sedan som en parameter.

Koden för preparedatatable() skulle förmodligen se ut ungefär så här:

var dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
return dt;

Därefter måste du lägga till dina plats-ID:

foreach(var id in locationIds)
{
    var row = dt.NewRow();
    row["Id"] = id;
    dt.Rows.Add(row);
}

Tilldela sedan dt som en parameter:

var param = cmd.Parameters.AddWithValue("@LocationIDs", dt);
param.SqlDbType = SqlDbType.Structured;
param.TypeName = "dbo.IdentityType";



  1. dbms_lob.getlength() vs. length() för att hitta klumpstorlek i oracle

  2. Flera databaser med skenor som inte fungerar för fjärrdatabas

  3. mysql hämtar alla rader samtidigt som sammanfattningar används

  4. Använda versionskontroll (Git) på en MySQL-databas