Thema: Delphi Probleme mit ADOTable

Einzelnen Beitrag anzeigen

Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#1

Probleme mit ADOTable

  Alt 13. Sep 2004, 08:10
Hallo,

ich hab ein Problem mit dieser Funktion. Ich möchte in der Tabelle test1 alle Werte aus der Spalte sSubject auslesen und in eine Datei schreiben. Dies tut er aber irgendwie nicht richtig. An meinem Rechner macht er es allerdings und am anderen nicht. Er schreibt noch in die LogDatei, dass er die Spalte einliest (s. (1)) und der nächste Eintrag in die LogDatei ist bei (2), dass ein Fehler beim Bearbeiten der TAbelle aufgetreten ist. Eintrag (3) kommt auch nicht in der LogDatei an, also müsste er die Tabelle geöffnet haben, oder?

Woran kann das nun liegen?


Delphi-Quellcode:
function DBEintraegeInStringListeSortieren():Boolean;
   var
      posx : Integer;
      s : String;
      zahl, code: Integer;
   begin
      try
         //alle TabellenEinträge aus sSubject in Stringliste schreiben
         frmLueckenSucher.ADOTable.TableName:= 'test1';
 (1) uLogFile.LogAdd(LogDatei, 'Einlesen der sSubject-Spalte', true);
         frmLueckenSucher.ADOTable.Open;
         if not frmLueckenSucher.ADOTable.Active then
 (3) uLogFile.LogAdd(LogDatei, 'Tabelle konnte nicht geöffnet werden', true)
         with frmLueckenSucher.ADOTable do
            begin
               try
                  First;
                  uLogFile.LogAdd(LogDatei, 'erster Datensatz', true);
                  //solange nicht am Ende
                  while not Eof do
                     begin
                        posx:= pos(':',frmLueckenSucher.ADOTable.FieldValues
                               ['sSubject']);
                        if posx > 0 then
                           begin
                              s:= '';
                              s:= copy(frmLueckenSucher.ADOTable.FieldValues
                                  ['sSubject'],posx+1,Length(
                                  frmLueckenSucher.ADOTable.FieldValues['sSubject']));
                              s:= Trim(s);
                              if length(s) < 6 then
                                 next;
                              if not (s='') then
                                 begin
                                    val(s,zahl, code);
                                       if code > 4 then
                                          uLogFile.LogAdd(GesamteLuecken, Trim(copy
                                               (s,1,code-1)), true);
                                       if code = 0 then
                                          uLogFile.LogAdd(GesamteLuecken, Trim(inttoStr
                                               (zahl)), true);
                                  end;
                           end;
                        Next;
                     end;
               except
                  ShowMessage('Fehler');
               end;
            end;
         uLogFile.LogAdd(LogDatei, 'mit ganzer Tabelle fertig', true);
         LueckenListe.LoadFromFile(GesamteLuecken);
         //dann Stringliste aufsteigend sortieren
         LueckenListe.Sort;
         uLogFile.LogAdd(LogDatei, 'Liste sortiert', true);
         Result:= True;
      except
         Result:= False;
 (2) uLogFile.LogAdd(LogDatei, 'Fehler beim Bearbeiten der Tabelle', true);
      end;
  end;
Susanne
  Mit Zitat antworten Zitat