Announcement

Collapse
No announcement yet.

Immer noch Probleme beim speichern von Daten in einer Interbase-Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Immer noch Probleme beim speichern von Daten in einer Interbase-Datenbank

    Hallo,

    ich habe immer noch Probleme mit dem endgültigen speichern von Änderungen in einer Interbase-Datenbank.
    Auch nach einem " IBTransaction1.Commit" werden die Daten nicht in die Datenbank übernommen.(Beim erneuten Aufruf der Anwendung sind die Änderungen wieder zurückgesetzt).

    Was muss ich unternehmen, daß Änderungen nach "Post" endgültig in die Datenbank übernommen werden?

    Danke
    Michael

  • #2
    Versuch doch mal anstatt "IBTransaction1.Commit" das folgende:
    IBTransaction1.CommitRetaining;

    Hierbei wird die Transaktion beendet und neu gestartet. Hatte das Problem glaube ich auch schon mal gehabt

    Comment


    • #3
      Hallo Michael,<br>ein wenig Quelltext wäre nicht schlecht. Ich arbeite schon eine weile nur noch mit Interbase und hatte am Anfang auch meine kleinen Probleme. Herr Kosch hat eine sehr gutes Buch darüber verfasst. Bei mir funktioniert es jetzt aber super und unheimlich schnell(im gegensatz zur BDE), nur man muß sich um alles selber kümmern.<br>Hier ein kleines Beispiel:
      <pre><font color="#000000"><b>procedure</b></font> TEineKlasse.DeleteFromDB;
      <font color="#000000"><b>begin</b></font>
      <font color="#000000"><b>with</b></font> DM.IBSQL <font color="#000000"><b>do</b></font>
      <font color="#000000"><b>begin</b></font>
      SQL.Clear;
      <font color="#000000"><b>if</b></font> fID <> -<font color="#0000FF">1</font> <font color="#000000"><b>then</b></font>
      <font color="#000000"><b>begin</b></font>
      SQL.Add(Format(<font color="#000080">'DELETE from %s where %sID = %d'</font>,[TableName,fTableKz,fID]));
      Transaction.StartTransaction;
      <font color="#000000"><b>try</b></font>
      ExecQuery;
      <font color="#000000"><b>finally</b></font>
      Transaction.Commit;
      <font color="#000000"><b>end</b></font>;
      <font color="#000000"><b>end</b></font>;
      <font color="#000000"><b>end</b></font>;
      Clear;
      <font color="#000000"><b>end</b></font>;</pre>
      Der IBSQL ist eine eigene Transaction Komponente zugewiesen.<br>
      Ich hoffe Du kannst damit etwas anfangen.<br>MfG Ol

      Comment

      Working...
      X