Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

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

Re: Fehler beim ausführen einer SP (Param nicht bereitgestel

  Alt 3. Feb 2008, 17:57
Zitat von marabu:
Nein, @lastid - 2 wäre richtig.
Hai marabu,

so würde man denken
Aber wenn ich in deinem Beispiel oben:
Parameters.CreateParameter('@lastid', ftInteger, pdInputOutput, 0, 0); eintrage (pdOutput durch pdInputOutput ersetzt) funktioniert es trotzdem ohne Fehler.

Wo ist der Unterschied ob das pdInputOutput via CreatParameter gesetzt wird oder ob es aus der SP kommt?

Aber irgend wie muss es daran liegen. Wenn ich meinen Code so ändere funktioniert es. Allerdings nur beim ersten Aufruf. Beim nächsten kommt eine Zugriffsverletzung in der sqloledb.dll
Delphi-Quellcode:
procedure TMain_Form.Button1Click(Sender: TObject);
begin
  with DataModule1.sp_benutzer_neu do
  begin
    Parameters.Refresh;
    Parameters.ParamByName('@lastID').Direction := pdOutput; // Direction für @lastID setzen.
    Parameters.ParamValues['@vorname'] := Edit1.Text;
    Parameters.ParamValues['@nachname'] := Edit2.Text;
    Parameters.ParamValues['@anmeldename'] := Edit3.Text;
    Parameters.ParamValues['@kennwort'] := Edit4.Text;
    Prepared := True;
    ExecProc;
    Edit5.Text := Parameters.ParamValues['@lastID'];
  end;
end;
Ich habe ja kein Problem die Parameter im Code zu definieren. Aber ich würde gerne verstehen warum es zu diesem Verhalten kommt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat