使用 ADO.NET 將表值參數傳遞給預存程序
表值參數提供了一種將資料集傳遞到預存程序的簡化方法。本指南示範如何在 ADO.NET 中實現此功能。
1。在 SQL Server 中定義使用者定義的表格類型
首先,在 SQL Server 資料庫中建立一個使用者定義的表格類型,作為表格值參數的結構:
<code class="language-sql">CREATE TYPE [dbo].[MyDataType] As Table ( ID INT, Name NVARCHAR(50) )</code>
2。預存程序建立
接下來,建立一個接受此使用者定義的表格類型作為參數的預存程序:
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure] ( @myData [dbo].[MyDataType] READONLY ) AS BEGIN SELECT * FROM @myData END</code>
3。 C# 中的資料表建構
在您的 C# 程式碼中,建立一個 DataTable 來鏡像 SQL Server 表類型的結構:
<code class="language-csharp">DataTable myDataTable = new DataTable("MyDataType"); myDataTable.Columns.Add("Name", typeof(string)); myDataTable.Columns.Add("Id", typeof(int)); myDataTable.Rows.Add("XYZ", 1); myDataTable.Rows.Add("ABC", 2);</code>
4。 Sql參數配置
最後,建立 SqlParameter 物件並將其配置為表示您的表值參數:
<code class="language-csharp">SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@myData"; parameter.SqlDbType = System.Data.SqlDbType.Structured; parameter.TypeName = "[dbo].[MyDataType]"; // Specify the type name parameter.Value = myDataTable; command.Parameters.Add(parameter);</code>
透過執行這些步驟,您可以使用 ADO.NET 有效地將表值參數傳遞到預存程序。 請記得將 [dbo].[MyDataType]
替換為使用者定義的表格類型的實際名稱。
以上是如何使用 ADO.NET 將表值參數傳遞給預存程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!