Einzelnen Beitrag anzeigen

Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

SP wird nicht an DB übergeben

  Alt 14. Jul 2005, 19:35
Datenbank: FireBird • Version: 1.5 • Zugriff über: FIBPlus
Hallo,

ich bin hier kurz vorm verzweifeln. Wie oben schon geschrieben, greife ich über die FIBPlus auf die FB zu. Ich verwende desweiteren noch eine Transaction und eine SP. So nun habe ich das Problem das die Daten nicht in der DB gespeichert werden, sie gehen einfach verloren. Eine EV oder sonstiges Fehlermeldungen treten nicht auf. Die Daten landen einfach nicht der DB.

Die Procedure zum speichern sieht so aus:

Code:
TransCommit(DMUserSetup.T_User_Get);
  TransStart(DMUserSetup.T_User_Set);
  Try
    with DMUserSetup.SP_User_Set do
    begin
      ParamByName('iUser_Name').Value:= Txt_UserName.Text;
      ParamByName('iFirst_Name').Value:= Txt_First_Name.Text;
      ParamByName('iLast_Name').Value:= Txt_Last_Name.Text;
      ParamByName('iKuerzel').Value:= Txt_Kuerzel.Text;
      ParamByName('iStatus_a').Value:= 1;
      ParamByName('iStatus').Value:= 1;
      ExecProc;
      TransCommit(DMUserSetup.T_User_Set);

      if ParamByName('oUser_Count').AsInteger = 0 then
        MessageDlg(Msg_Save_New_OK, mtInformation, [mbOK], 0)
      else
        MessageDlg(Msg_Save_Edit_OK, mtInformation, [mbOK], 0);
      Get_User;
    end;
  except
    on E:Exception Do
    Begin
      MessageDlg(Msg_Save_Error+#13+E.Message, mtError, [mbOK], 0);
      TransRollBack(DMUserSetup.T_User_Set);
    end;
  end;
Die Proceduren zum Starten und Commiten sehen so aus:

Code:
If Not Trans.InTransaction Then
   Trans.StartTransaction;
Code:
if Trans.InTransaction then
    Trans.Commit;
Hat jemand von euch eine Idee, woran das liegen kann. Also an der Verbindung zur DB schon mal nicht, da Select's usw funktionieren. Auch wenn ich das Statement via Query an die DB schicke werden die gespeichert nur eben über die SP nicht. (In anderen Projekten geht das doch auch, wieso hier nicht? )

//Edit: Die SP liefert mir auch einen Rückgabeparameter und selbst dieser wird korrekt übergeben.
Gruß

Albi
  Mit Zitat antworten Zitat