Announcement

Collapse
No announcement yet.

ltBatchptimistic und Updatestatus dringend

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

  • ltBatchptimistic und Updatestatus dringend

    Ich versuche den zustand des aktuellen Record in einem ADO-Dataset zu erhalten. Ich habe folgende einstellung:
    CursorType ctKeySet (Standard)
    LockType den Wert ltBatchOptimistic
    if wq.UpdateStatus <> usInserted then
    Dieses Statement gibt immer den wert vom Updatestatus = unmodified zurück.
    Kann mir jemand helfen.
    Oder gibt es eine andere Lösung den aktuellen Zustand vom Record im Dataset.

  • #2
    Hallo,

    der folgende Auszug aus einem Beispielprojekt aus dem Kapitel 1 meines Buch <i>ADO und Delphi</i> demonstriert die Auswertung von <b>UpdateStatus</b> Die TADODataSet-Instanz verwendet dabei für den clientseitigen Cursor die folgende Konfiguration:<br>
    a) CursorType = ctStatic<br>
    b) LockType = ltBatchOptimistic
    <pre>
    procedure TFormMasterDetailC.ButtonLoopCClick(Sender: TObject);
    begin
    with ADODataSetDetailC do
    begin
    First;
    while not EOF do
    begin
    if UpdateStatus = usInserted then
    ShowMessage('INSERT....: ' + ADODataSetDetailCEintrag.Value);
    if UpdateStatus = usModified then
    ShowMessage('UPDATE....: ' + ADODataSetDetailCEintrag.Value);
    Next;
    end;
    end;
    end;
    </pre&gt

    Comment


    • #3
      Vielen Dank,
      Gibt es keine Möglichkeit den Status direkt abzufragen wie:
      ADODataSetDetailC.updatestatus = usModified...
      Wenn ich das tue, dann habe ich immer den Wert unmodified. Ich habe nichts gefunden in Ihrem Buch.
      Danke für die Hilfe

      Comment


      • #4
        Hallo,

        was ist mit "direkt abzufragen" gemeint? ADO muss diesen Status doch für <b>jeden einzelnen Datensatz getrennt</b> verwalten, so dass man jeden einzelnen Datensatz in der Menge des Recordsets abfragen muss

        Comment


        • #5
          Zum Beispiel:
          ich mache einen insert auf auf eine Tabelle. Jetzt sollte ich wissen ist der aktuelle Record im Status insert oder welcher Status hat er. Mit der BDE konnte mann den Dataset.upstatus abfragen und es wurde usinsert oder usmodified oder usdelete gemeldet
          Ich möchte diese Meldung abfragen

          Comment


          • #6
            Hallo,<br>
            vielleicht hilft das:<br>
            <p><code> if Query1.State = dsInsert then<br>
            &nbsp; ShowMessage('Insert-Modus');<br>
            if Query1.State = dsEdit then<br>
            &nbsp; ShowMessage('Edit-Modus');<br>
            if Query1.State = dsBrowse then<br>
            &nbsp; ShowMessage('Browse-Modus');<br>
            </code></p&gt

            Comment

            Working...
            X