Kann mir jemand sagen, wie ich die Ausgabe von einer gespeicherten SQL-Prozedur steuern kann, die mehr als einen Satz von Ausgaben zurückgibt?SQL-gespeicherte Prozedur mehrere Ausgänge in C steuern
ich derzeit tue folgendes:
DataTable allData = new DataTable();
SqlConnection connection = new SqlConnection(mySource);
SqlCommand cmd = new SqlCommand(procedureName, connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(paramName, SqlDbType.Int);
cmd.Parameters[paramName].Value = paramValue;
connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(allData);
connection.Close();
nun das funktioniert gut, wenn das Verfahren nur einen Ausgangswert hat, aber wie gehe ich mit den folgenden:
Meine gespeicherten Prozedur im Großen und Ganzen das tut folgende:
Es ruft eine Reihe anderer gespeicherter Prozeduren auf, um eine dynamische SQL-Abfrage zu erstellen (lasst uns diese @query aufrufen) und ruft dann EXECUTE (@query) auf, das eine SELECT-Anweisung ausführt.
Mit dem obigen Code-Snippet wird das Ergebnis der SELECT-Abfrage zurückgegeben, was in Ordnung ist. Aber was ich auch so gerne hätte, hat die Zeichenfolge @query zurückgegeben. Ich kann es als Ausgabetyp angeben und SQL von ihm holen lassen, aber wie kann ich von C# darauf zugreifen? (Tatsächlich, genauer gesagt, wenn ich dies tun, den obigen Code snipped gibt nur die Zeichenfolge @query und gibt nicht länger die Ergebnisse der SELECT)
Dank
Karl