AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem bei Aktualisierung
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei Aktualisierung

Ein Thema von Moony · begonnen am 13. Nov 2008 · letzter Beitrag vom 24. Nov 2008
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Problem bei Aktualisierung

  Alt 13. Nov 2008, 10:59
Datenbank: Microsoft Access • Zugriff über: TADOConnection
Hallo zusammen,

ich habe folgendes Problem:

In meiner Applikation werden in einer Funktion alle markierten Datensätze abgearbeitet und der Inhalt der Datensätze geändert. Die Anzeige der Datensätze ist mit einer WHERE-Klausel verbunden. Das heißt, ich bekomme in meinem DBGrid eine eingeschränkte Datenmenge angezeigt. Aus dieser Datenmenge markiere ich X Datensätze. Mit der aufzurufenden Funktion werden dann die Änderungen pro Datensatz getätigt. Das verläuft alles richtig.
Nach jedem abgearbeiteten Datensatz möchte ich eine Aktualisierung auf die Datenmenge ausführen, damit die Datenmenge dem Filter entsprechend richtig angezeigt wird. Hierbei habe ich ein Problem. Ich mache das folgendermaßen:

Delphi-Quellcode:
procedure Test;
var X, Y : Integer;
begin
  ...
  X := myGrid.SelectedRows.Count;
  Y := 0;

  if X > 0 then
  begin
    repeat
      mygrid.SelectedRows.Refresh;
      MyDS.GotoBookmark(pointer(mygrid.SelectedRows.Items[Y]));
      ...
      // macht irgendwas
      ...
      // falls Bookmark verloren, die fehlenden Datensätze bis zum Tabellenende
      MyDS.GotoBookmark(pointer(mygrid.SelectedRows.Items[Y]));
      mygrid.SelectedRows.Refresh; // Liste aktualisieren

      MyDS.Requery; // das habe ich eingefügt, um die Datenmenge zu aktualiseren; funktioniert auch

      Y := Y + 1;
    until Y > X-1;
  end;
end;
So funktioniert es auch, aber wenn die repeat-Schleife wieder oben ankommt, dann kommt folgende Meldung bei [myGrid.SelectedRows.Refresh]:

EOleException: "Das Lesezeichen war ungültig"

und irgendwann zum Ende der markierten Datensätze kommt beim Bookmark "Listenindex überschreitet das Maximum", was auch klar ist warum.

Als Hinweis noch: Ich habe das ganze auch mit DAC-Komponenten mit einer MS SQL Datenbank gemacht und dort verläuft es einwandfrei.

Hoffe die Infos reichen soweit aus.

Danke & Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Problem bei Aktualisierung

  Alt 24. Nov 2008, 08:56
Hmm.....kann mir denn da keiner weiterhelfen????

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz