Einzelnen Beitrag anzeigen

Benutzerbild von cs.rumpelstilzchen
cs.rumpelstilzchen

Registriert seit: 16. Sep 2004
Ort: NRW
72 Beiträge
 
Delphi XE4 Professional
 
#1

dbExpress und TSQLStoredProc Probleme mit Parameterübergabe

  Alt 31. Mai 2005, 15:43
Datenbank: MS-SQL • Version: 2000 • Zugriff über: dbExpress
Hallo Leute!

Folgendes Problem:
Ich hab in einer MS-SQL-Datenbank eine StoredProcedure:

CREATE PROC dbo.dk32_delete_depotR @iDepot INT

Die tut was sie soll, wenn ich sie per "EXECUTE dk32_delete_depotR 5" in einer Abfrage öffne.
Der Wert 5 in obigem Beispiel wird in der Variablen iDepot gespeichert und alles ist Prima!


Jetzt muß ich die Procedure aus Delphi heraus aufrufen. Dazu benutze ich die bestehende Datenbankverbindung:
Delphi-Quellcode:
function DeleteDbDepotListe(const iDepotR : Integer) : Byte;
begin
  with gMySqlServerObject.SQLStoredProc do
  begin
    StoredProcName := 'dk32_delete_depotR';
    Params.Clear;
    Params.CreateParam(ftFMTBcd,'RESULT',ptResult);
    Params.CreateParam(ftInteger,'iDepot',ptInput);
    ParamByName('iDepot').AsInteger := iDepotR;
    ExecProc;
  end;
end;
Das SQLStoredProc-Object ist in mein ServerObject wie folgt eingebunden:

Delphi-Quellcode:
type
  TMySqlServerObject = class(TObject)
    private
      MySqlServerConnectionData : TMySqlServerConnectionData;
      gbSqlServerConnected : Boolean;
      gszLastErrorMessage : String;
      SQLConnection : TSQLConnection;
      SQLQuery : TSQLQuery;

    public
      SQLStoredProc : TSQLStoredProc;
...
Beim Ausführen des ExecProc erhalte ich eine Fehlermeldung:
'Listenindex überschreitet das Maximum (0)'

Ich brüte jetzt schon ziemlich lange daran herum und hab auch schon alle mir bekannten Foren durchsucht. Es gibt dort Hinweise, das die dbExpress-Schnittstelle das Problem ist.

Wer kann helfen?

Ich benutze Delphi2005 mit Update 3.

THX
Der weiß, daß er nichts weiß, wie alle anderen auch nichts wissen.
Nur weiß er, was die anderen und auch er selbst noch lernen müssen.
(Novalis 1772 - 1801)
  Mit Zitat antworten Zitat