Ich habe eine gespeicherte Prozedur, die zwei Recordsets zurückgibt, die ich mit GetReader aufrufen. Ich wiederhole die erste, rufe IDataReader.NextResult() auf, dann wiederhole ich die zweite.Gespeicherte Proc Ausgabeparameter + Wählen Sie nicht übergeben Ausgabeparameter
Ich gebe den Ausgabeparametern im SP Werte zu, aber wenn ich die Werte nach Abschluss mit meinem Leser überprüfe, sind meine Ausgabeparameter null. Sieht nach einem Fehler aus. Ich möchte keine Auswahl verwenden, da ich keine Fudges mag. Einige Schnipsel ...
...
sp.Command.AddParameter("@SelectedTabID", selectedTabID, DbType.Int32);
sp.Command.AddParameter("@CurrentTabID", 0, DbType.Int32, ParameterDirection.Output);
sp.Command.AddParameter("@TypeID", 0, DbType.Int32, ParameterDirection.Output);
(Anmerkung es auf diese Art und Weise oder mit AddOutputParameter tun() liefert gleiche Ergebnisse)
...
using(IDataReader reader = sp.GetReader())
{
while (reader.Read()) {...}
if (reader.NextResult()) {while (reader.Read()) {...}}
}
.. .
int one = (int)sp.OutputValues[0]; //null expected an int
int two = (int)sp.OutputValues[1]; //null expected an int
Looki uns auf einige Perlen der Weisheit ng :)
Welche RDBMS, SQL Server, Oracle, DB2, MySQL,. . . ? –
SQL Server 2005 mit Subsonic –