Hallo, ich habe noch eine frage. Das MyQuery.Open, braucht man das? Wenn
SQL leer ist, gibt es einen fehler. Aber wenn ich etwas in
SQL drin habe, kann ich sofort das Execute ohne open machen. Ich habe mal eine kleine schleife gemacht, die mir alle Datenbanke gibt, und dann alle Tabellen ausliest.
Wäre nett wenn mir jemdand sagen könnte ob man das so lassen kann, oder ob ich zu kompliziert gedacht habe.
Danke im voraus
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
line :String;
begin
MyConnection1.Connect;
MyQuery1.SQL.Clear;
Memo1.Clear;
MyQuery1.SQL.Add('SHOW DATABASES;');
MyQuery1.Open;
MyQuery1.First;
// MyQuery2.Open;
while not MyQuery1.Eof do
begin
line:=MyQuery1.FieldList.Fields[0].AsString;
Memo1.Lines.Add(MyQuery1.FieldList.Fields[0].AsString);
MYQuery2.SQL.Clear;
MyQuery2.SQL.Add('SHOW TABLES FROM '+line+';');
MyQuery2.Execute;
while ( not MyQuery2.Eof ) do begin
Memo1.Lines.Add(MyQuery2.FieldList.Fields[0].AsString);
MyQuery2.Next;
end;
MyQuery1.Next;
end;
MyQuery1.Close;
MyQuery2.Close;
MyConnection1.Disconnect;
end;