ADODB Recordset und Return einer Stored Procedure auswerten

08/11/2009 - 17:18 von Thomas Hase | Report spam
Hallo NG,

ich habe MSSQL Stored Procedures die ich nicht àndern möchte .
Einige Sps, geben via Return Integer Werte als
Rückgabewert und einige geben ein Recordset zurück.

Den Returnwert ODER das Recordset kann ich sauber in ADO auffangen.

Dann gibt es aber SPs, die sowohl einen Returnwert zurück geben, als
auch ein Recordset. (Der SQL Server selbst hat auch diverse SPs
eingebaut, die beides zurückgeben.)


Sowie ich mir das Recordset via

Dim Cmd As New ADODB.Command
..
Dim rs As New ADODB.Recordset
Set rs = Cmd.Execute

hole, bekomme ich keinen Return Wert mehr.
Einige werden das Verhalten sicherlich logisch finden.

Nun dachte ich, dass ich via

rs.NextRecordset

an den Returnwert komme, da diese Abfragen im isqlw ja einfach
2 Ereignismengen erzeugen, aber damit hatte ich kein Glück.

Wie kann man sowohl den Returnwert als auf das Recordset gleichzeitig
per ADO erhalten?

Mir ist sicherlich klar, dass ich die SP umschreiben kann und den
Return Wert via OUTPUT liefern kann, doch bei Extended SP's
kann man nichts mehr àndern. Es ist quasi ein Prinzipfrage.


Gruß Thomas
 

Lesen sie die antworten

#1 Peter Fleischer
08/12/2009 - 01:51 | Warnen spam
"Thomas Hase" schrieb im Newsbeitrag
news:
Hallo NG,

ich habe MSSQL Stored Procedures die ich nicht àndern möchte .
Einige Sps, geben via Return Integer Werte als
Rückgabewert und einige geben ein Recordset zurück.

Den Returnwert ODER das Recordset kann ich sauber in ADO auffangen.

Dann gibt es aber SPs, die sowohl einen Returnwert zurück geben, als
auch ein Recordset. (Der SQL Server selbst hat auch diverse SPs
eingebaut, die beides zurückgeben.)


Sowie ich mir das Recordset via

Dim Cmd As New ADODB.Command
..
Dim rs As New ADODB.Recordset
Set rs = Cmd.Execute

hole, bekomme ich keinen Return Wert mehr.
Einige werden das Verhalten sicherlich logisch finden.

Nun dachte ich, dass ich via

rs.NextRecordset

an den Returnwert komme, da diese Abfragen im isqlw ja einfach
2 Ereignismengen erzeugen, aber damit hatte ich kein Glück.

Wie kann man sowohl den Returnwert als auf das Recordset gleichzeitig
per ADO erhalten?

Mir ist sicherlich klar, dass ich die SP umschreiben kann und den
Return Wert via OUTPUT liefern kann, doch bei Extended SP's
kann man nichts mehr àndern. Es ist quasi ein Prinzipfrage.



Hi Thomas,
hast du es mal mit einer Output-Parameter mit dem Namen "Return_Value"
probiert, den du nach erhalt des Recordsets abfragst?

Viele Gruesse

Peter

Ähnliche fragen