Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Класически ADO.NET - Как да предам UDT към съхранена процедура?

Тази статия може да е малко повече помощ.

По същество ще създадете нова DataTable, която съответства на схемата, след което ще я предадете като параметър.

Кодът на подготовленататаблица() вероятно ще изглежда така:

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

След което ще трябва да добавите вашите locationIds:

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

След това задайте dt като параметър:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да изтрия с помощта на INNER JOIN със SQL Server?

  2. Преобразувайте „datetime“ в „smalldatetime“ в SQL Server (T-SQL примери)

  3. Преобразувайте текста на текстовото поле в цяло число

  4. Част от датата за време между (вместо Преобразуване на дата)

  5. Премахване на дублирани записи от изглед