Ich habe eine Datentabelle in C# erstellt.Übergabe von DataTable an gespeicherte Prozedur als Argument
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Rows.Add("James", 23);
dt.Rows.Add("Smith", 40);
dt.Rows.Add("Paul", 20);
Ich möchte dies an die folgende gespeicherte Prozedur übergeben.
CREATE PROCEDURE SomeName(@data DATATABLE)
AS
BEGIN
INSERT INTO SOMETABLE(Column2,Column3)
VALUES(......);
END
Meine Frage ist: Wie fügen wir diese 3 Tupel in die SQL-Tabelle ein? Müssen wir mit dem Punktoperator auf die Spaltenwerte zugreifen? oder gibt es eine andere Möglichkeit, dies zu tun?
Vielen Dank für Ihre Antwort. Ich beziehe mich auf MS SQL Server 2012. Diese Art der Erstellung ist nicht möglich. Können Sie eine alternative pls bereitstellen? –
TVPs wurden in [SQL 2008 bereits verfügbar gemacht] (https://technet.microsoft.com/en-us/library/bb522526 (v = sql.105) .aspx) – StuartLC
Wenn ich versuchte, den Typ zu erstellen, generiert es die Fehler, der "Syntaxfehler nahe AS sagt". kann nicht herausfinden, warum es passiert –