Sisipkan Pukal Pembolehubah Berparameter ke dalam Pangkalan Data menggunakan C#
Memasukkan banyak pembolehubah berparameter ke dalam pangkalan data dengan cekap adalah cabaran biasa yang dihadapi oleh pembangun. C# menawarkan penyelesaian menggunakan parameter bernilai jadual dan prosedur tersimpan untuk memasukkan berbilang baris dalam satu pertanyaan.
Mencipta Jenis Jadual Ditakrifkan Pengguna
Mulakan dengan mencipta jenis jadual yang ditentukan pengguna yang mencerminkan struktur pangkalan data sasaran jadual:
CREATE TYPE MyTableType AS TABLE ( Col1 int, Col2 varchar(20) ) GO
Mentakrifkan Prosedur Tersimpan
Seterusnya, buat prosedur tersimpan yang menerima jenis jadual yang baru dibuat sebagai parameter input:
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
Prosedur tersimpan ini akan memasukkan data daripada jenis jadual @MyTable ke dalam jadual MyTable dalam pangkalan data.
Melaksanakan Prosedur Tersimpan daripada C#
Akhir sekali, laksanakan prosedur tersimpan daripada C# menggunakan kod berikut:
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(); } }
Kelebihan Menggunakan Table-Valued Parameter
Menggunakan parameter bernilai jadual menawarkan beberapa kelebihan:
Atas ialah kandungan terperinci Bagaimanakah C# Boleh Memasukkan Data Berparameter Secara Pukal Secara Cekap ke dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!