首頁 > 資料庫 > mysql教程 > 如何使用 ADO.NET 將表值參數傳遞給預存程序?

如何使用 ADO.NET 將表值參數傳遞給預存程序?

Barbara Streisand
發布: 2025-01-11 10:57:42
原創
981 人瀏覽過

How to Pass Table-Valued Parameters to Stored Procedures using ADO.NET?

使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板