![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Änderungen anzeigen nach Update mit AdoCommand
Nach einem Update eines Datensatzes mit AdoCommand werden die Änderungen leider nicht sichtbar. Ich habe das Problem nur lösen können, indem ich die komplette Datenbankverbindung beende und neu aufbaue. Das müsste doch auch einfacher gehen?
Der benutzte Delphi-Code lautet:
Delphi-Quellcode:
Für einen Tipp bin ich dankbar
if (AdoMITGLIEDER.State in [dsEdit, dsInsert]) then AdoMITGLIEDER.Post;
DM.ADOCommand1.CommandType:=cmdText; DM.ADOCommand1.CommandText:= 'UPDATE MITGLIEDER SET BEITRAG = True WHERE MITGLIEDSNR = ' + DbEdit1.Text; DM.ADOCommand1.Execute; //Damit Änderungen sichtbar werden: pos := AdoMITGLIEDER.GetBookmark; DM.ADOConnection1.Connected := False; DM.ADOConnection1.Connected := True; AdoMITGLIEDER.Active := True; AdoMITGLIEDER.GotoBookmark(pos); Gruß Ralf |
Re: Änderungen anzeigen nach Update mit AdoCommand
Nimm TADOQuery diese hat eine .ReQuery-Methode
|
Re: Änderungen anzeigen nach Update mit AdoCommand
Vielen Dank. Ich benutze ein TAdoDataSet, das hat glücklicherweise ebenfalls diese Eigenschaft.
Eigentlich hätte ich das ja selbst herausfinden müssen, das nächste Mal schau ich mal genauer die Methoden des Objektes an So funktioniert es jetzt sehr gut ohne sämtliche Datenbankverbindungen durch einen neuen Connect-Befehl zu verlieren, das Lesezeichen (Bookmark) wird aber doch noch benötigt:
Delphi-Quellcode:
if (AdoMITGLIEDER.State in [dsEdit, dsInsert]) then AdoMITGLIEDER.Post;
DM.ADOCommand1.CommandType:=cmdText; DM.ADOCommand1.CommandText:= 'UPDATE MITGLIEDER SET BEITRAG = True WHERE MITGLIEDSNR = ' + DbEdit1.Text; DM.ADOCommand1.Execute; //Änderungen sichtbar machen: pos := AdoMITGLIEDER.GetBookmark; AdoMITGLIEDER.ReQuery; AdoMITGLIEDER.GotoBookmark(pos); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz