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

Добавяне на множество параметризирани променливи към база данни в C#

Тъй като използвате c# и sql server 2008 , можете да използвате параметър с таблица, за да вмъкнете няколко реда във вашата база данни. Ето кратко описание как да направите това:

Първо, трябва да създадете дефиниран от потребителя тип таблица:

CREATE TYPE MyTableType AS TABLE
(
    Col1 int,
    Col2 varchar(20) 
)
GO

След това трябва да създадете съхранена процедура, която ще приеме този тип таблица като параметър

CREATE PROCEDURE MyProcedure
(
    @MyTable dbo.MyTableType READONLY -- NOTE: table valued parameters must be Readonly!
)
AS

INSERT INTO MyTable (Col1, Col2)
SELECT Col1, Col2 
FROM @MyTable

GO

Накрая изпълнете тази съхранена процедура от вашия C# код:

DataTable dt = new DataTable();
dt.Columns.Add("Col1", typeof(int));
dt.Columns.Add("Col2", typeof(string));

// Fill your data table here

using (var con = new SqlConnection("ConnectionString"))
{
    using(var cmd = new SqlCommand("MyProcedure", con))
    {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@MyTable", SqlDbType.Structured).Value = dt;
        con.Open();
        cmd.ExecuteNonQuery();
    }
}


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

  2. Регулярни изрази в SQL Server

  3. Извличане на дата в sql сървър, CURRENT_TIMESTAMP срещу GetDate()

  4. Нива на изолация на SQL сървър:серия A

  5. Дефиницията на SSRS отчета е по-нова от сървъра