Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: EAccess Violation im Programm

  Alt 11. Feb 2007, 18:18
Hallo,

du musst dich gegen falsche Zeilen- und Feldzugriffe absichern. mysql_fetch_row() liefert nil, wenn keine Zeile (mehr) im ResultSet ist und auch der ungeprüfte Zugriff auf das achte Feld (Index ist null-basiert) könnte nicht existieren:

Delphi-Quellcode:
// ...
_myRow := mysql_fetch_row(_myRes);
if Assigned(_myrow) then
  if Length(_myRow) > 7 then
  begin
    SPS := StrToIntDef(_myRow[7], 0);
    Label332.Caption := _myRow[1];
    Label333.Caption := _myRow[2];
    Label334.Caption := _myRow[3];
    Label335.Caption := _myRow[4];
    Label336.Caption := _myRow[5];
    Label337.Caption := _myRow[6];
  end
  else { zuwenig Felder } 
else { kein Datensatz (mehr) };
// ...
Grüße vom marabu
  Mit Zitat antworten Zitat