Ich arbeite mich gerade in das Thema Datenbanken ein und sehe dass es ziemlich eingerostet ist.
Nun habe ich mich dran gemacht meine
Access Datenbank in Delphi einzubinden, und zwar mache ich das über das TADOConnection (für die Verbindung), TADOQuery (für Abfragen) und TDataSource (Verbindung zwischen
Query und DBGrid beispielsweise).
Ich hoffe diese Hierarchie ist richtig:
Connection ->
Query | -> DataSource -> DBGrid
Eine ganz einfache Abfrage geschieht dann so:
Delphi-Quellcode:
Query.SQL.Text := '
select * from Kunden';
Query.Open;
Open deshalb weil es mir die Hilfe empfohlen hat. ExecSQL soll man angeblich nur nehmen bei Inserts, Updates etc.
Nun zu meiner eigentlichen Frage:
Möchte ich nun einen Datensatz hinzufügen, dachte ich mir, bastelst du dir einfach ein Insert zusammen, packst es in das
Query und schickst es auf die Reise. War jedoch ziemlich umständlich (und hat nicht funktioniert ^^).
Daher habe ich einen neuen Versuch gestartet über folgende Syntax:
Delphi-Quellcode:
Query.Insert;
//Fügt einen neuen Datensatz hinzu?
Query.FieldByName('
Vorname').AsString:=Edit1.Text;
Query.FieldByName('
Nachname').AsString:=Edit2.Text;
Query.FieldByName('
Strasse').AsString:=Edit3.Text;
Query.FieldByName('
Hausnummer').AsString:=Edit4.Text;
Query.FieldByName('
Wohnort').AsString:=Edit5.Text;
Query.FieldByName('
PLZ').AsString:=Edit6.Text;
Query.Post;
//Postet die Änderungen an die DB?
Query.Refresh;
//Führt die Abfrage (select * from Kunden) neu aus?
Sind die Kommentare die ich gesetzt habe inhaltlich richtig? Und woher weiß das Insert in welche Tabelle ich den neuen Datensatz einfügen will? Kann man das so machen oder bin ich auf dem Holzweg?
Hoffe ihr könnt mir helfen
Viele Dank im Voraus,
Stefan