Announcement

Collapse
No announcement yet.

Aktualisierung von TADODataSet nach TStoredProc

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

  • Aktualisierung von TADODataSet nach TStoredProc

    Hallo,

    wahrscheinlich ist mein Problem ganz profaner Natur, aber ich stocher' hier ein wenig im Nebel herum. Vielleicht könnt Ihr mir helfen.

    Ausgangssituation:
    - Access97 Datenbank via ADO
    - TADODataSet (TableDirect, aktiv)
    - Ausführen einer StoredProc (Update), die in der Tabelle etwas ändert, auf die auch das TADODataSet zugreift.
    - Keine Aktualisierung im TADODataSet, auch nach Resync (planlos verwendet) nicht.
    Warum?

    Vielen Dank für einen Hinweis von Euch.
    Viele Grüße,
    Michael :-)

  • #2
    Hallo,

    welche Konfiguration verwenden TADOConnection + TADODataSet für die Eigenschaft CursorLocation: <b>clUseServer</b> oder <b>clUseClient</b>?

    Um bessere Performance-Ergebnisse zu erzielen, puffert die Microsoft JET ENGINE die Daten lokal zwischen, wobei dies auch für Schreib-Zugriffe gilt. Während bei DAO ein Leeren dieses Caches vorgesehen war, ist dies bei ADO nicht mehr der Fall. Statt dessen muss man auf JRO zurückgreifen, um zu prüfen, ob dies im konkreten Fall die Ursache für das geschilderte Problem ist: <br>
    1. Microsoft Jet and Replication Objects Library importieren <br>
    2. Microsoft ActiveX Data Objects Library importieren <br>
    3. Delphi-Unit ADOInt einbinden <br>
    4. Mit der Typumwandlung die ADOInt-Macke korrigieren <br>
    5. JRO-Methode <b>RefreshCache</b> aufrufen
    <pre>
    uses JRO_TLB, ADOInt, ADODB_TLB;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    aJet : IJetEngine;
    aConn : _Connection;
    begin
    ADOConnection1.Connected := True;
    aJet := CoJetEngine.Create;
    aConn := ADODB_TLB._Connection(ADOConnection1.ConnectionObj ect);
    aJet.RefreshCache(ADODB_TLB._Connection(aConn));
    StatusBar1.SimpleText := 'RefreshCache erfolgreich aufgerufen.';
    end;
    </pre&gt

    Comment

    Working...
    X