sql >> Database >  >> RDS >> Sqlserver

Meerdere geparametriseerde variabelen toevoegen aan een database in c#

Aangezien u c# . gebruikt en sql server 2008 , kunt u een tabelwaardeparameter gebruiken om meerdere rijen in uw database in te voegen. Hier volgt een korte beschrijving hoe u dit doet:

Eerst moet u een door de gebruiker gedefinieerd tabeltype maken:

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

Vervolgens moet u een opgeslagen procedure maken die dit tabeltype als parameter accepteert

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

Voer ten slotte deze opgeslagen procedure uit vanuit uw c#-code:

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. Android SQLite werkt de gegevens niet bij

  2. Index op tijdstempel:functies in indexexpressie moeten worden gemarkeerd als IMMUTABLE

  3. Hoe het schema van meerdere PostgreSQL-tabellen in één bewerking te wijzigen?

  4. Hoe kunt u zien of een PL/SQL-pakket, procedure of functie wordt gebruikt?