使用 ADO.NET 將表值參數傳遞給 SQL Server 預存程序
本指南示範如何使用 ADO.NET 的表值參數將結構化資料(例如資料表或陣列)傳送至 SQL Server 預存程序。 請依照以下步驟操作:
CREATE TYPE
語句建立表格值資料。 例如:CREATE TYPE [dbo].[MyDataType] AS TABLE ( ID INT, Name NVARCHAR(50) )
CREATE PROCEDURE [dbo].[MyProcedure] ( @myData [dbo].[MyDataType] READONLY ) AS BEGIN SELECT * FROM @myData END
DataTable
並用您想要傳遞的資料填入它。 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);
SqlParameter
物件並設定其屬性:ParameterName
:必須與預存程序的參數名稱相符。 SqlDbType
:設定為 Structured
。 Value
:將 DataTable
指定為值。 將此參數新增至您的命令物件:
SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@myData"; parameter.SqlDbType = System.Data.SqlDbType.Structured; parameter.Value = myDataTable; command.Parameters.Add(parameter);
透過執行下列步驟,您可以有效地將表值參數從 ADO.NET 應用程式傳遞到 SQL Server 預存程序。
以上是如何將表值參數從 ADO.NET 傳遞到 SQL Server 預存程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!