/ / So geben Sie mehrere Ergebnismengen aus einer MySQL-Datenbank mit einer C # .NET-Winform-Anwendung zurück - MySQL, SQL-Server-2005 und mehrere Resultsets

Wie man mehrere Resultsets aus einer MySQL-Datenbank mit einer C # .NET Winform-Anwendung zurückgibt - mysql, sql-server-2005, multiple-resultsets

Ich habe eine Winform C # .NET-Anwendung.

Wenn ich SQL Server verwendet habe, um zwei Ergebnismengen zusammen zurückzugeben, habe ich zwei SELECT-Abfragen mit einem Linebreak "n" übergeben.

Im SQL Server habe ich das gemacht und es wurde abgeschlossen:

"SELECT ProductName FROM Products" +"n" +"SELECT ProductID FROM Products"

Aber wie geht das in MySQL ????

Antworten:

2 für die Antwort № 1

In MySQL ist dies wegen dessen unmöglichEinschränkungen. Vor langer Zeit haben sie entschieden, dass es nicht sicher ist, mehrere Abfragen in einem Stapel zuzulassen. Dies lag wahrscheinlich daran, dass MySQL häufig in Verbindung mit PHP verwendet wurde und es üblich war, einfache SQL-Injection-Angriffe durchzuführen, indem einfach Semikolon hinzugefügt und eine weitere Abfrage eingefügt wurde.

PS> Ich weiß nicht, ob es für neue Versionen von MySQL gilt, da sich seit meiner Verwendung etwas geändert haben könnte (vor etwa 3 Jahren).

PS> Ich würde vorschlagen, gespeicherte Prozeduren zu verwenden, um diese Aufgabe auszuführen.

Das würde wohl so aussehen:

CREATE PROCEDURE sample_procedure()
READS SQL DATA
BEGIN
SELECT xxx FROM yyy;
SELECT zzz FROM vvv;
END;