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