Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#1

Fehler beim ausführen einer SP (Param nicht bereitgestellt)

  Alt 3. Feb 2008, 09:11
Datenbank: SQL Express • Version: 2003 • Zugriff über: ADO
Hai,

irgendwie scheine ich mich zu dumm anzustellen.

Ich möchte über eine SP Daten in eine Tabelle eintragen und die ID des letzten Datensatzes zurück bekommen.

Meine SP sieht so aus:
SQL-Code:
USE [schluessel]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE Procedure [dbo].[Benutzer_Neu] @vorname VarChar (50), @nachname VarChar(50), @anmeldename VarChar(50), @kennwort VarChar(50), @lastID int output
as
begin
   set nocount on
   insert into benutzer (vorname, nachname, anmeldename, kennwort)
   Values (@vorname, @nachname, @anmeldename, @kennwort)
   select @lastID = @@Identity
   set nocount on
end
Wenn ich das über die Managementkonsole teste funktionert das auch.

In Delphi rufe ich das dann so auf:
Delphi-Quellcode:
procedure TMain_Form.Button1Click(Sender: TObject);
var
  lastID : Integer;
begin
  with DataModule1.ADOStoredProc1 do
  begin
    Parameters.Refresh;
    Parameters.ParamValues['@vorname'] := 'Vorname';
    Parameters.ParamValues['@nachname'] := 'Nachname';
    Parameters.ParamValues['@anmeldename'] := 'Anmeldename';
    Parameters.ParamValues['@kennwort'] := 'Kennwort';
    ExecProc;
    lastID := Parameters.ParamValues['@lastID'];
  end;
end;
Aber ich bekomme immer diese Fehlermeldung:
Die Prozedur oder Funktion 'Benutzer_Neu' erwartet den '@lastID'-Parameter, der nicht bereitgestellt wurde.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat