Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Lulus Parameter Bernilai Jadual dari ADO.NET ke Prosedur Tersimpan Pelayan SQL?

Bagaimana untuk Lulus Parameter Bernilai Jadual dari ADO.NET ke Prosedur Tersimpan Pelayan SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-11 06:28:42773semak imbas

How to Pass Table-Valued Parameters from ADO.NET to SQL Server Stored Procedures?

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:

  1. Tentukan Jenis Jadual Ditakrifkan Pengguna SQL Server: Gunakan pernyataan 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>
  1. Buat Prosedur Tersimpan: Isytiharkan parameter nilai jadual sebagai parameter input baca sahaja dalam prosedur tersimpan anda. Contoh:
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END</code>
  1. Isi Jadual Data dalam C#: Cipta 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>
  1. Buat dan Tambah Parameter SQL: Cipta objek 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!

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