sql >> Database >  >> RDS >> Sqlserver

Klassiek ADO.NET - Hoe geef ik UDT door aan een opgeslagen procedure?

Dit artikel misschien wat meer hulp.

In wezen maakt u een nieuwe gegevenstabel die overeenkomt met het schema en geeft u deze door als parameter.

De code van prepareatatable() ziet er waarschijnlijk ongeveer zo uit:

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

Daarna moet u uw locationIds toevoegen:

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

Wijs vervolgens dt toe als parameter:

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



  1. Traagheid gevonden wanneer base 64-afbeelding selecteert en codeert uit database

  2. NOLOCK versus transactie-isolatieniveau

  3. Hoe de grootste resolutie van een INTERVAL bepalen?

  4. Object van klasse DateTime kon niet worden geconverteerd naar string