Einzelnen Beitrag anzeigen

RalfE

Registriert seit: 30. Apr 2010
25 Beiträge
 
#1

Zugriffsverletzung mit ZEOS-Komponenten

  Alt 30. Apr 2010, 11:07
Datenbank: Firebird • Version: 2.0.5.13206 • Zugriff über: ZEOS-Komponenten 6.6.6
Hallo,

ich bin am Testen, greife mit Delphi 7 und ZEOS-Komponenten(6.6.6)
auf Firebird (2.0.5.13206) zu.

Meine Test-Stored Procedure:

Code:
Create Procedure MyTest
(I_Par : Integer)
Returns
(R_Wert Integer)
AS
Begin

R_Wert = 2 * I_Par;
End
------------------------------

Unter Delphi:
Delphi-Quellcode:

Cl_Connection := TZConnection.Create(Self);
Cl_Connection.Protocol := 'firebird-2.0';
Cl_Connection.HostName := 'PCTest' ;
Cl_Connection.Database := 'C:\Datenbanken\test_1.gdb';
Cl_Connection.User := 'SYSDBA';
Cl_Connection.Password := 'masterkey';
Cl_StoredProc := TZStoredProc.Create(Self);
With Cl_StoredProc Do
Begin
StoredProcName := 'MyTest';
Params.Clear;
With Params.CreateParam(ftInteger,'I_Par',ptInput) do AsInteger := 0;
With Params.CreateParam(ftInteger,'R_Wert',ptOutput) do AsInteger := 0;
Connection := Cl_Connection;
End;
Cl_Connection.Connect;

----------------------------------------------------

Wert abfragen :

Code:


Delphi-Quellcode:
If Cl_Connection.InTransaction Then
Cl_Connection.Commit;
Cl_Connection.StartTransaction;
With Cl_StoredProc Do
Begin
Params[0].Value := StrToIntDef(Edit1.Text,2);
ExecProc;
Edit2.Text := IntToStr(Params[1].Value) ;
End;
Cl_Connection.Commit;
Cl_StoredProc.Close;

Bei Aufruf execProc kommt dann die Exception .
Warum ?

Mit Open und FieldByName bekomme ich immer 0.

Wenn ich aber eine SP aufrufe ohne Rückgabewerte funktioniert ExecProc .

Gruß

RalfE
  Mit Zitat antworten Zitat