Heim > Backend-Entwicklung > C++ > Wie kann C# parametrisierte Daten effizient massenhaft in eine Datenbank einfügen?

Wie kann C# parametrisierte Daten effizient massenhaft in eine Datenbank einfügen?

Patricia Arquette
Freigeben: 2025-01-03 21:18:09
Original
991 Leute haben es durchsucht

How Can C# Efficiently Bulk Insert Parameterized Data into a Database?

Masseneinfügung parametrisierter Variablen in eine Datenbank mit C#

Das effiziente Einfügen zahlreicher parametrisierter Variablen in eine Datenbank ist eine häufige Herausforderung für Entwickler. C# bietet eine Lösung, die Tabellenwertparameter und gespeicherte Prozeduren verwendet, um mehrere Zeilen in eine einzelne Abfrage einzufügen.

Erstellen des benutzerdefinierten Tabellentyps

Beginnen Sie mit der Erstellung einer Benutzerdefinierter Tabellentyp, der die Struktur der Zieldatenbanktabelle widerspiegelt:

CREATE TYPE MyTableType AS TABLE
(
    Col1 int,
    Col2 varchar(20) 
)
GO
Nach dem Login kopieren

Definieren des Gespeicherten Prozedur

Als nächstes erstellen Sie eine gespeicherte Prozedur, die den neu erstellten Tabellentyp als Eingabeparameter akzeptiert:

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
Nach dem Login kopieren

Diese gespeicherte Prozedur fügt die Daten aus dem Tabellentyp @MyTable ein in die MyTable-Tabelle in der Datenbank.

Ausführen der gespeicherten Prozedur von C#

Führen Sie abschließend die gespeicherte Prozedur aus C# mit dem folgenden Code aus:

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();
    }
}
Nach dem Login kopieren

Vorteile der Verwendung von Tabellenwertparametern

Die Verwendung von Tabellenwertparametern bietet mehrere Möglichkeiten Vorteile:

  • Effizient:Eine einzelne Abfrage ersetzt mehrere Einfügeanweisungen, was die Leistung erheblich verbessert.
  • Parametrisiert:Daten werden in a übergeben parametrisiert, wodurch das Risiko von SQL-Injection-Angriffen verringert wird.
  • Erweiterbar: Die benutzerdefiniert Der Tabellentyp kann geändert werden, um ihn an verschiedene Szenarien anzupassen, ohne die gespeicherte Prozedur zu ändern.

Das obige ist der detaillierte Inhalt vonWie kann C# parametrisierte Daten effizient massenhaft in eine Datenbank einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage