Re: Recordset aus Command-Objekt wird nicht geöffnet
- From: "Peter Fleischer" <peter.fleischer_nospam_@xxxxxx>
- Date: Thu, 4 Oct 2007 08:05:51 +0200
Karl wrote:
Hallo,
ich benutze eine umfangreichere StoredProcedure zum Suchen von Daten
in verschiedenen Tabellen. Grundaufbau der SP ist folgender
CREATE Procedure stProc_Suchen @strtblName nvarchar(20),
@strKriterium1 nvarchar(50) = Null, @strKriterium2 nvarchar(50) =
Null, ...<weitere Parameter>
<Prozedurtext> ...
In VB (VB6) rufe ich wie folgt auf:
Public rsSuchErgebnis As New ADODB.Recordset
Public cmdSuche As New ADODB.Command
...
<Datenbankverbindung herstellen>
With cmdSuche
.ActiveConnection = cnDBConn
Implizite Erzeugung eine neuen Connection-Objektes ist keine gute Idee.
Besser wäre es den Verweis auf ein Connection-Objekt zuzuweisen.
.CommandType = adCmdStoredProc
.CommandText = "stProc_Suchen"
.Parameters.Append .CreateParameter("@strtblName", adVarChar,
adParamInput, 20, strTblName)
.Parameters.Append .CreateParameter("@strKriterium1",
adVarChar, adParamInput, 50, NZ(strKriterium1, Null))
.Parameters.Append .CreateParameter("@strKriterium2",
adVarChar, adParamInput, 50, NZ(strKriterium2, Null))
... <weitere Parameter>
Set rsSuchergebnis = .Execute
End With
If rsSuchergebnis.RecordCount > 0 Then <------ Hier kommt der Fehler
machwas
End if
Es kommt der Fehler 3704 (Der Vorgang ist für ein geschlossenes
Recordset nicht zugelassen).
Und wo ist die Open-Anweisung für das implizit erzeugte Objekt?
Probehalber habe ich mir aus der SP mit
einem Ausgabeparameter die Zahl der gefundenen Datensätze zurückgeben
lassen - es kommt immer die Anzahl der Datensätze, die ich auch
erhalte, wenn ich die SP mit entsprechenden Eingabeparametern im SQL-
Server starte.
Woran kann es liegen? Andere Command/Recordset -Kombinationen in der
gleichen Struktur funktionieren merkwürdigerweise in der Anwendung.
Das glaube ich dir nicht. Eine EWxecute kann mit einer geschlossenen
Verbindung nicht funktionieren.
Du erhöhst Deine Chance, dass Deine Frage überhaupt gelesen und qualifiziert
und schnell beantwortet wird, wenn Du Deinen Realnamen im Absender
einstellst (Vor- und Zuname).
--
Viele Grüße
Peter
.
- References:
- Prev by Date: Re: Datenbank zugriff auf Unicode
- Next by Date: Re: Recordset aus Command-Objekt wird nicht geöffnet
- Previous by thread: Recordset aus Command-Objekt wird nicht geöffnet
- Next by thread: Recordset aus Command-Objekt wird nicht geöffnet
- Index(es):
Relevant Pages
|