ODBC Aufruf einer Datenbankprozedure

Für allgemeine Fragen zur Programmierung mit PureBasic.
rolf
Beiträge: 17
Registriert: 18.01.2005 17:00

ODBC Aufruf einer Datenbankprozedure

Beitrag von rolf »

Hallo,
hat es schon jemand hinbekommen in PureBasic V4 oder V3.94 über ODBC eine Datenbankprozedure aufzurufen und einen Rückgabewert zu verarbeiten?
Meine DB-Prozedur legt nach diversen Prüfungen einen Datensatz an und liefert einen Status zurück.
Die Prozedur funktioniert soweit problemlos.
Wenn ich aber das ganze in ein PureBasic Programm packe kann ich die Prozedure aufrufen und der Datensatz wird angelegt.
Ich schaffe es aber nicht den Rückgabewert zu erhalten.
Folgende Versuche hab ich unternommen:

Code: Alles auswählen

If InitDatabase() 
  If OpenDatabase(0,"DB1","user","password") 
;    Result = DatabaseUpdate(0,"execute procedure Addzaehler('0167509','W0815',10)") ; Ergebnis: Satz wird angelegt keine Rückgabe
;    Result = DatabaseQuery(0,"execute procedure Addzaehler('0167509','W0815',10)") ; Ergebnis: Satz wird angelegt keine Rückgabe
     Result = DatabaseQuery(0,"select status from Addzaehler('0167509','W0815',10)")  ; Dieser Aufruf erzeugt keinen Datensatz
    If Result
      Debug GetDatabaseString(0,0);
    EndIf
  EndIf 
EndIf
Gibt es noch weitere Lösungsansätze?

Gruß
Rolf
rolf
Beiträge: 17
Registriert: 18.01.2005 17:00

Beitrag von rolf »

Hallo
Vor lauter Prozeduraufruf hab ich vergessen NextDatabaseRow(0) abzusetzen.
So funktioniert es jetzt bei mir:

Code: Alles auswählen

If InitDatabase()
  If OpenDatabase(0,"DB1","user","password")
    Result = DatabaseQuery(0,"execute procedure Addzaehler('0167509','W0815',10)") 
    If Result
      NextDatabaseRow(0)
      Debug GetDatabaseString(0,0);
    EndIf
  EndIf
EndIf 
Gruß
Rolf
Antworten