Heim > Datenbank > MySQL-Tutorial > Wie übergebe ich Tabellenwertparameter von ADO.NET an gespeicherte SQL Server-Prozeduren?

Wie übergebe ich Tabellenwertparameter von ADO.NET an gespeicherte SQL Server-Prozeduren?

Linda Hamilton
Freigeben: 2025-01-11 06:28:42
Original
683 Leute haben es durchsucht

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

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:

  1. Definieren Sie einen benutzerdefinierten SQL Server-Tabellentyp: Verwenden Sie die 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>
Nach dem Login kopieren
  1. Erstellen Sie die gespeicherte Prozedur: Deklarieren Sie den Tabellenwertparameter als schreibgeschützten Eingabeparameter in Ihrer gespeicherten Prozedur. Beispiel:
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END</code>
Nach dem Login kopieren
  1. Füllen Sie eine Datentabelle in C#: Erstellen Sie ein 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>
Nach dem Login kopieren
  1. Erstellen und fügen Sie den SQL-Parameter hinzu: Erstellen Sie ein 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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage