Einzelnen Beitrag anzeigen

WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#1

SQL Refresh nach StoredProc im DBGrid

  Alt 4. Okt 2010, 16:56
Datenbank: SQL • Version: 1 • Zugriff über: ibExpert,
Hi,
ich habe ein Problem mit meiner SQL Datenbank.
Ich habe ein Formular wo bestimmte informationen in die Datenbank eingetragen werden über eine StoredProc.
nach der StoredProc soll er mir die Datenbank Aktualisieren.
Leider macht er das nicht mit dem Code.
Was habe ich Falsch gemacht?

Delphi-Quellcode:
procedure TForm1.RefreshDB(ADataset: TIBDataSet);
var
  LOldPos : Integer;
begin
  LOldPos := ADataset.RecNo;

  ADataset.Close;
  ADataset.Transaction.Commit;
  ADataset.Open;
  ADataset.Transaction.StartTransaction;
  ADataset.RecNo := LOldPos;
end;
und das ist meine StoredProc
Delphi-Quellcode:
procedure TForm1.DBSaveUpdateTechnik(ADB: TIBDatabase);
var
  IBStoredProc : TIBStoredProc;
  IBTransAction : TIBTransaction;
begin
  IBStoredProc := TIBStoredProc.Create(nil);
  IBTransAction := TIBTransaction.Create(nil);
  try
    IBStoredProc.Transaction := IBTransAction;
    IBTransAction.DefaultDatabase := ADB;
    IBStoredProc.StoredProcName := 'Technikid';
    with IBStoredProcTechnik do
    begin
      Prepare;
      ParamByName('newid').AsInteger := FTechnikId;
      ParamByName('Technikid').AsInteger := FTechnikId;
      ParamByName('utyp').AsInteger := FUtypNr;
      ParamByName('beschreibung').AsString := MemBeschreibung.Text;
      ParamByName('deltag').AsString := 'f';
      ParamByName('ebenen').AsInteger := GEbene;
      ParamByName('lagerung').AsString := EditLagerung.Text;
      ParamByName('tipps').AsString := EditTipps.Text;
      ParamByName('artid').AsInteger := 0;//was war jetzt noch mal die artid
      ParamByName('hinweise').AsString := EditHinweise.Text;
      ParamByName('sedierung').AsString := EditSedierung.Text ;
      ParamByName('lagerungshilfen').AsString := EditLagerungsHilfen.Text;
      ParamByName('strahlenschutz').AsString := EditStrahlenschutz.Text;
      ParamByName('ebenentext').AsString := EditEbenenText.Text;
      ExecProc;
      end;
  RefreshDB(IbDTechnik)
  finally
      IBStoredProc.Free;
      IBTransAction.Free;
   end;
end;
Danke schon mal imn Vorraus.
ich hoffe ich habe kein unötigen thread eröffnet.
  Mit Zitat antworten Zitat