Einzelnen Beitrag anzeigen

Real-TTX

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

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

  Alt 13. Jul 2009, 19:37
Naja... Ich mach das über Edit und Post. Damit ich mir sämtliche Parameter sparen kann und es über das DataSet sehr komfortabel ist. Finde ich zumindest Und bei einem SQL Statement ohne Parameter... wäre das nur Murks....

Die ID Kann nicht leer sein... Das ist ein AutoWert von Access. Eine Replikations-ID.

Hier wäre der Code :

Delphi-Quellcode:

  // Leeres Dataset auslesen (Serien)
  adoQuerySeries := DataBase.SQLExecSelect('SELECT * FROM Series');
  adoQuerySeries.Edit;

  // Serien abfragen
  arrLinks := obj.getSeriesAll;

  // Dataset (Serien) befüllen
  for i := 0 to Length(arrLinks) - 1 do
  begin
    adoQuerySeries.Append;
    adoQuerySeries['Link'] := arrLinks[i, 0];
    adoQuerySeries['Name'] := arrLinks[i, 1];
    adoQuerySeries.Post;
  end;

  // Inhalt neu laden (Serien) für den AutoWert
  adoQuerySeries := DataBase.SQLExecSelect('SELECT * FROM Series');

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

  // Dataset (Staffeln) befüllen
  while adoQuerySeries.Eof = false do
  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'];
      adoQuerySeasons.Post;
    end;
    adoQuerySeries.Next;
  end;

  // Inhalt neu laden (Staffeln) für den AutoWert
  adoQuerySeasons := DataBase.SQLExecSelect('SELECT * FROM Seasons');

  // Leeres Dataset auslesen (Folgen)
  adoQueryEpisodes := DataBase.SQLExecSelect('SELECT * FROM Episodes');
  adoQueryEpisodes.Edit;

  // Dataset (Episoden) befüllen
  while adoQuerySeasons.Eof = false do // <-------- In dieser Stelle tritt der Fehler auf....
  begin
    arrLinks := obj.getEpisodes(adoQuerySeasons['Link']);
    for i := 0 to Length(arrLinks) - 1 do
    begin
      adoQueryEpisodes.Append;
      adoQueryEpisodes['Link'] := arrLinks[i, 1];
      adoQueryEpisodes['Name'] := arrLinks[i, 0];
      adoQueryEpisodes['SerieID'] := adoQuerySeasons['SerieID'];
      adoQueryEpisodes['SeasonID'] := adoQuerySeasons['SeasonID'];
      adoQueryEpisodes.Post;
    end;
    adoQuerySeasons.Next;
  end;
Gruß, Real-TTX
  Mit Zitat antworten Zitat