Hallo,
ich muss aus einem Delphi Programm heraus (
RAD Studio 2007) auf eine
MySQL Datenbank zugreifen. Ich habe die Komponenten aus dem Register DBExpress genutzt.
Die Verbindung kommt korrekt zustande. In der Tabelle befinden sich ca. 300 Datensätze.
Ich wähle in der Radiogroup1 einen Buchstaben aus, der in einer
SQL Anweisung eingefügt wird. Die
SQL Anweisung liefert als Ergebnissmenge alle Berufe mit diesem Anfangsbuchstaben. (max. 30 Bezeichnungen) Diese werden in der Radiogroup2 dargestellt. Es dauert jedoch sehr lange bis die Daten ausgelesen werden.
Wie kann dieser Vorgang beschleunigt werden????
Delphi-Quellcode:
procedure TForm1.RadioGroup2Click(Sender: TObject);
var bu : string;
begin
radiogroup1.Items.Clear;
bu:=radiogroup2.Items[radiogroup2.ItemIndex];
DataModule1.SQLDataSet1.CommandText:=
'select `dta_bezeichnung` from `bts_berufe` where `dta_bezeichnung` LIKE'+chr(39)+bu+'%'+chr(39);
DataModule1.SQLDataSet1.Open;
with DataModule1 do
begin
while not SQLDataSet1.Eof do
begin
radiogroup1.Items.Add(SQLDataSet1.FieldByName('dta_bezeichnung').AsString);
SQLDataSet1.Next;
end;
end;
DataModule1.SQLDataSet1.Active:=false;
end;