Einzelnen Beitrag anzeigen

Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#1

Datenmenge ist weder im Editiert noch im Einfügemodus...

  Alt 12. Jul 2009, 20:36
Datenbank: Access • Version: MDAC 2.8 • Zugriff über: ADO
Wie schon im Titel, sieht man die Fehlermeldung die bei mir erscheint nachdem 700+ Mal (in einer Schleife) meine Menge im Editiert Modus war...

Delphi-Quellcode:
  // Leere Ergebnismenge holen
  adoQuerySeries := DataBase.SQLExecSelect('SELECT * FROM Series');
  adoQuerySeries.Edit;

  // Serien abfragen
  arrLinks := obj.getSeriesAll;

  // Befüllen mit Serien (Name / Link)
  for i := 0 to Length(arrLinks) - 1 do
  begin
    adoQuerySeries.Append;
    adoQuerySeries['Link'] := arrLinks[i, 0];
    adoQuerySeries['Name'] := arrLinks[i, 1];
  end;
  
  // Zeigt die Anzahl an (~2300)
  ShowMessage(IntToStr(adoQuerySeries.RecordCount));

  // Daten an DB
  adoQuerySeries.Post;

  // Inhalt neu Laden der Serien (AutoWert - Rep. ID)
  adoQuerySeries := DataBase.SQLExecSelect('SELECT * FROM Series');

  // ...
  adoQuerySeasons := DataBase.SQLExecSelect('SELECT * FROM Seasons');
  adoQuerySeasons.Edit;

  x := 1;
  while adoQuerySeries.Eof = false do // IN DIESER SCHLEIFE TRITT DER FEHLER AUF <----------
  begin
    arrLinks := obj.getSeasons(adoQuerySeries['Link']);
    for i := 0 to Length(arrLinks) - 1 do
    begin
      adoQuerySeasons.Append;
      adoQuerySeasons['Link'] := arrLinks[i, 0];
      adoQuerySeasons['Name'] := arrLinks[i, 1];
      adoQuerySeasons['SerieID'] := adoQuerySeries['SerieID'];
    end;
    Memo1.Lines.Add(IntToStr(x) + ' - ' + adoQuerySeries['Name']);
    Application.ProcessMessages;
    inc(x);
    adoQuerySeasons.Post;
    adoQuerySeries.Next;
  end;

   // Inhalt neu Laden der Staffeln
  adoQuerySeasons := DataBase.SQLExecSelect('SELECT * FROM Seasons');
  adoQueryEpisodes := DataBase.SQLExecSelect('SELECT * FROM Episodes');
  adoQueryEpisodes.Edit;

  while adoQuerySeasons.Eof = false do
  begin
    arrLinks := obj.getEpisodes(adoQuerySeasons['Link']);
    for i := 0 to Length(arrLinks) - 1 do
    begin
      adoQueryEpisodes.Append;
      adoQueryEpisodes['Link'] := arrLinks[i, 0];
      adoQueryEpisodes['Name'] := arrLinks[i, 1];
      adoQueryEpisodes['SerieID'] := adoQueryEpisodes['SerieID'];
      adoQueryEpisodes['SeasonID'] := adoQueryEpisodes['SeasonID'];
    end;
    adoQueryEpisodes.Post;
    adoQuerySeasons.Next;
  end;

Leider bin ich relativ ratlos, da der Fehler sporadisch auftritt... :/

Gruß, Real-TTX
  Mit Zitat antworten Zitat