Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris Berparameter dengan Cekap ke dalam Pangkalan Data SQL Menggunakan C#?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris Berparameter dengan Cekap ke dalam Pangkalan Data SQL Menggunakan C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-12 06:45:41638semak imbas

How Can I Efficiently Insert Multiple Parameterized Rows into a SQL Database Using C#?

Menggunakan parameter bernilai jadual untuk melaksanakan sisipan baris berparameter kelompok C#

Dalam operasi pangkalan data, adalah keperluan biasa untuk memasukkan berbilang baris data dengan cekap sambil memastikan keselamatan data. Dalam C#, ini boleh dicapai menggunakan parameter bernilai jadual dan prosedur tersimpan.

Untuk mengelakkan penggunaan berulang pernyataan "INSERT INTO" dan masukkan baris data berparameter dalam kelompok, sila ikuti langkah di bawah:

  1. Buat jenis jadual takrif pengguna (UDT): Tentukan struktur jadual untuk mewakili baris yang akan disisipkan. Contohnya:

    <code class="language-sql">CREATE TYPE MyTableType AS TABLE
    (
        Col1 int,
        Col2 varchar(20)
    )
    GO</code>
  2. Buat prosedur tersimpan: Buat prosedur tersimpan yang akan menerima UDT sebagai parameter.

    <code class="language-sql">CREATE PROCEDURE MyProcedure
    (
        @MyTable dbo.MyTableType READONLY -- 注意:表值参数必须是只读的!
    )
    AS
    
    INSERT INTO MyTable (Col1, Col2)
    SELECT Col1, Col2
    FROM @MyTable
    
    GO</code>
  3. Sediakan data: Buat jadual data dan isikannya dengan baris untuk disisipkan.

  4. Melaksanakan prosedur tersimpan: Gunakan objek SqlCommand untuk melaksanakan prosedur tersimpan dan lulus jadual data sebagai parameter.

    <code class="language-csharp">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();
        }
    }</code>

Dengan kaedah ini, anda boleh memasukkan berbilang baris dengan cekap ke dalam pangkalan data sambil memastikan keselamatan data melalui pertanyaan berparameter. Ini mengelakkan pernyataan sisipan individu pendua dan berkemungkinan tidak cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris Berparameter dengan Cekap ke dalam Pangkalan Data SQL Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn