Menggunakan ADO.NET untuk Lulus Parameter Bernilai Jadual kepada Prosedur Tersimpan Pelayan SQL
Panduan ini menunjukkan cara menghantar data berstruktur, seperti jadual atau tatasusunan, ke prosedur tersimpan SQL Server menggunakan parameter bernilai jadual ADO.NET. Ikuti langkah ini:
CREATE TYPE
untuk menstruktur data bernilai jadual anda. Contohnya:<code class="language-sql">CREATE TYPE [dbo].[MyDataType] AS TABLE ( ID INT, Name NVARCHAR(50) )</code>
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure] ( @myData [dbo].[MyDataType] READONLY ) AS BEGIN SELECT * FROM @myData END</code>
DataTable
dalam kod C# anda dan isikannya dengan data yang ingin anda hantar.<code class="language-csharp">DataTable myDataTable = new DataTable("MyDataType"); myDataTable.Columns.Add("Name", typeof(string)); myDataTable.Columns.Add("Id", typeof(Int32)); myDataTable.Rows.Add("XYZ", 1); myDataTable.Rows.Add("ABC", 2);</code>
SqlParameter
dan tetapkan sifatnya:ParameterName
: Mesti sepadan dengan nama parameter prosedur yang disimpan.SqlDbType
: Tetapkan kepada Structured
.Value
: Tetapkan DataTable
sebagai nilai.Tambahkan parameter ini pada objek arahan anda:
<code class="language-csharp">SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@myData"; parameter.SqlDbType = System.Data.SqlDbType.Structured; parameter.Value = myDataTable; command.Parameters.Add(parameter);</code>
Dengan mengikut langkah ini, anda boleh menghantar parameter bernilai jadual dengan cekap daripada aplikasi ADO.NET anda kepada prosedur tersimpan SQL Server.
Atas ialah kandungan terperinci Bagaimana untuk Lulus Parameter Bernilai Jadual dari ADO.NET ke Prosedur Tersimpan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!