Hallo zusammen,
folgende Schleife:
Delphi-Quellcode:
q_fields.SQL.Text := ' SHOW FIELDS FROM ' +
tv_databases.Selected.Parent.Text + '.' +
tv_databases.Selected.Text;
q_fields.Open;
q_fields.First;
lb_fields.Width := 120;
q_content.SQL.Text := 'SELECT ';
lb_fields.Items.Clear;
for i := 0 to q_fields.RecordCount - 1 do
begin
lb_fields.Items.Add( q_fields.Fields[i].FieldName );
lb_fields.Checked[i] := cbChecked;
q_content.SQL.Add( q_fields.FieldDefs[i].Name );
if i < q_fields.RecordCount - 1 then q_content.SQL.Add(', ');
q_fields.Next;
end;
q_content.SQL.Add(' FROM ' +
tv_databases.Selected.Parent.Text + '.' +
tv_databases.Selected.Text);
lb_sqlsyntax.Items.Add( TimeToStr( time ) + ' | ' + q_content.SQL.GetText );
treibt mich ATM echt zur Verzweifelung.
Die Fehlermeldung, wie oben schon erwähnt:
"Listenindex überschreitet das Maximum (6)"
Die 6 bezieht sich, soweit ich weiss, auf die Anzahl der tatsächlichen Felder, also "RecordCount".
q_content ist eine TZQuery, tv_databases eine TreeView-Komponente, lb_sqlSyntax eine ListBox und lb_fields schliesslich die Listbox, in der die Felder aufgelistet werden sollen.
Der Fehler liegt auf jedenfall in der "FOR-TO"-Schleife. Wenn ich deren Inhalt auskommentiere, funktioniert alles.
Wenn ich aber nur eine Zeile (egal welche) innerhalb dieser Schleife ausführen lassen - kommt die Fehlermeldung.
Jemand ne Idee? Hab ich vielleicht was übersehen, weil ich jetzt schon wieder zu lange davor sitze? ^^
Danke euch im Voraus
tyler