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:
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>
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>
Sediakan data: Buat jadual data dan isikannya dengan baris untuk disisipkan.
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!