Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dodawanie wielu sparametryzowanych zmiennych do bazy danych w c#

Ponieważ używasz c# i sql server 2008 , możesz użyć parametru o wartości tabeli, aby wstawić wiele wierszy do bazy danych.Oto krótki opis, jak to zrobić:

Najpierw musisz utworzyć typ tabeli zdefiniowany przez użytkownika:

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

Następnie musisz utworzyć procedurę składowaną, która zaakceptuje ten typ tabeli jako parametr

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

Na koniec wykonaj tę procedurę składowaną z kodu 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. Jak zaktualizować kolumnę tożsamości w SQL Server?

  2. Aktualizacja platformy danych SQL Server w 2015 r.

  3. Czy kończy się używanie zamyka otwarte połączenie SQL?

  4. Jak tworzyć połączone serwery baz danych i wysyłać do nich zapytania w programie SQL Server?

  5. Jak formatować liczby jako walutę w SQL Server (T-SQL)