Einzelnen Beitrag anzeigen

tenikx

Registriert seit: 1. Mär 2009
7 Beiträge
 
#1

Access Violation bei FieldByName('feldname').AsString + bei Watch-List: Absturz

  Alt 22. Okt 2013, 12:43
Datenbank: Access • Version: 2003 • Zugriff über: TADOQuery
Hallo zusammen,

es kommt bei mir bei immer wieder dazu, dass eine Access Violation auftaucht. Besonders merkwürdig ist, dass auch ein Einschluss in Try...Except einen Komplett-Absturz des Programms nicht verhindern kann. Noch schlimmer: wenn ich DataSet.FieldByName('feldname').AsString in die Watch-List aufnehme, stürzt sogar der Compiler an dieser Stelle ab.

Die Prozedur läuft teilweise einwandfrei und das Problem kommt dann bei einem bestimmten Record in der Tabelle immer wieder. Z.B. läuft die Schleife 10x durch und der Fehler kommt in Zeile 11. Der Fehler liegt jedenfalls nicht in 'feldname', da z.B. DataSet.FieldByName('feldname').DataSize einen Wert liefert bei dem Problem-Datensatz.

Ich kann in der Datenbank aber bei Zeile 11 kein Problem feststellen. Ich habe den Inhalt von 'feldname' in record 11 mal gelöscht: kein Unterschied.

Hat jemand eine Idee, woran das Problem liegen kann? Für Hilfestellung wäre ich sehr dankbar. Hier der Code:
Delphi-Quellcode:
s := '';
DataSet.First;
while not DataSet.Eof do
begin
   s := s + ',' + DataSet.FieldByName('feldname').AsString;
   DataSet.Next;
end;
NACHTRAG: es hat sich zwischenzeitlich gezeigt, dass ein alternativer Aufruf von DataSet.FieldByName('feldname').CurValue nicht zu dem Fehler führt... Macht das überhaupt Sinn?


Danke im Voraus und Grüße
Tobias

Geändert von tenikx (22. Okt 2013 um 15:24 Uhr)
  Mit Zitat antworten Zitat