Autor Beitrag
Hans-Georg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Fr 17.09.10 12:05 
Hallo ich möchte mit einen SQL Befehl alle Datensätze Anzeigen
und habe es folgendermassen gemacht :

DataModule1.ADOAbfrageQuery1.Close;
DataModule1.ADOAbfrageQuery1.SQL.Clear;
DataModule1.ADOAbfrageQuery1.SQL.Add('select * from Personal');
DataModule1.ADOAbfrageQuery1.open;

Wenn ich jetzt die schaltflächt betätige passiert garnichts !
was ist da falsch oder was habe ich vergessen.

Danke im vorraus
neo112
tfischer
Hält's aus hier
Beiträge: 4

Win7
Delphi XE
BeitragVerfasst: So 19.09.10 23:53 
Na ja....wenn du einfach die Query ausführst, kann ja nichts zu sehen sein. Du musst die Daten ja noch in irgendeiner Komponente sichtbar machen.
Ich würde es so machen:
Wenn du Zugriff auf Access haben willst, musst du erst einmal die Verbindung über eine TADOConnection-Komponente herstellen (das hast du sicherlich schon gemacht).
Füge eine TADOQuery aus der dbgo-Palette ein, nenne sie ADOAbfrageQuery1 und schreibe unter SQL in den String-Listen-Editor deine Abfrage hinein (SELECT * FROM Personal){ohne Hochkommata].
In der Connection-Eigenschaft deiner Query verweist du auf deine TADOConnection-Komponente. Wenn die Verbindung steht und du in den Eigenschaften Active auf true setzt und keine Fehlermeldung kommt, weißt du schon mal, dass sie funktioniert.
Jetzt musst du die Daten noch sichtbar machen. Dazu musst du aus der Datenzugriff-Palette eine TDataSource-Komponente einfügen. Unter der Eigenschaft Dataset gibst du deine Query ein.
Wenn du z.B. deine Daten in einem Grid anzeigen willst, dann füge es in ein Formular ein, setze die DataSource-Eigenschaft des TDBGrid auf deine TDataSource-Komponente. Das setzt natürlich voraus, das dein Datenmodul (DataModule1) in der uses-Klausel deines Formulars steht.
Wenn die Abfrage noch aktiv ist, solltest du die Daten jetzt schon sehe. Ansonsten setzte die Aktive-Eigenschaft deiner Query auf False und erledige das programmseitig (DataModule1.ADOAbfrageQuery1.Close; DataModule1.ADOAbfrageQuery1.open;). Das kannst du dann an einen Schalter oder das Öffnen des Formulars oder was auch immer binden.
Ich hoffe, ich habe dir damit geholfen.