Verwenden von ADO.NET zum Übergeben von Tabellenwertparametern an gespeicherte SQL Server-Prozeduren
Diese Anleitung zeigt, wie Sie strukturierte Daten wie Tabellen oder Arrays mithilfe der Tabellenwertparameter von ADO.NET an gespeicherte SQL Server-Prozeduren übertragen. Befolgen Sie diese Schritte:
CREATE TYPE
-Anweisung, um Ihre Tabellenwertdaten zu strukturieren. Zum Beispiel:<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
in Ihrem C#-Code und füllen Sie es mit den Daten, die Sie übergeben möchten.<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
-Objekt und legen Sie seine Eigenschaften fest:ParameterName
: Muss mit dem Parameternamen der gespeicherten Prozedur übereinstimmen.SqlDbType
: Auf Structured
setzen.Value
: Weisen Sie DataTable
als Wert zu.Fügen Sie diesen Parameter zu Ihrem Befehlsobjekt hinzu:
<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>
Indem Sie diese Schritte befolgen, können Sie Tabellenwertparameter effizient von Ihrer ADO.NET-Anwendung an gespeicherte SQL Server-Prozeduren übergeben.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Tabellenwertparameter von ADO.NET an gespeicherte SQL Server-Prozeduren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!