Hallo zusammen.
Ich bin diesem Forum neu, also erstmal einen heißen (30°C) "Guten Morgen Gruß"
aus dem schönen "Rheinhessischen Hügelland"
.
Meine Arbeitsumgebung:
- Windows XP Prof. SP2
- Borland Developer Studio (Delphi) (Update 2)
- Interbase 7.1
Und nun zu meinem Problem.
Ich greife auf Tabellen mit
SQL-Befehlen zu, indem ich eine Datenbankverbindung
mit
TIBDatabase herstelle, damit eine Instanz von
TIBDataSet verbinde und
mit dem
TIBDataSet eine Transaktion
TIBTransaction verbinde.
Dann werden die SLQ-Anweisungen für SELECT, UPDATE und INSERT gesetzt, wie z.B.:
Code:
IbDataSet.SelectSQL.Text := 'SELECT * FROM ksc_user';
IbDataSet.RefreshSQL.Text := 'SELECT * FROM ksc_user WHERE id_user=:id_user';
IbDataSet.InsertSQL.Text := 'INSERT INTO ksc_user (id_user, username, pwd, fullname, rights) VALUES(:id_user, :username, :pwd, :fullname, :rights)';
IbDataSet.ModifySQL.Text := 'UPDATE ksc_user SET username=:username, pwd=:pwd, fullname=:fullname, rights=:rights WHERE id_user=:old_id_user';
IbDataSet.DeleteSQL.Text := 'DELETE FROM ksc_user WHERE id_user=:old_id_user';
Dann kann ich die Datenmenge öffnen, Daten ändern und speichern.
Code:
IbDataSet.Open;
IbDataSet.Edit;
IbDataSet.FieldValues['username'] := 'Hans';
IbDataSet.Post;
IbDataSet.CommitRetaining;
Wenn ich an die TIBDataSet noch eine TDataSource hänge und daran ein TDBGrid, dann kann ich in dem Grid
alle Änderungen ausführen wie Einfügen, Ändern und Löschen von Einträgen.
Nun möchte ich das Ganze auf die
ADO Komponenten (dbGo) umstellen.
Hier kann ich nun die SELECT Abfrage einfügen (CommandText), aber sonst nichts.
Wie kann ich nun Änderungen speichern ?
Irgendwo muss ich ja auch die DELETE und INSERT Anweisungen angeben können.
Ich hab da keine Idee wie das Gehen kann.
Über Umwege (mit separaten TADOCommand) kriege ich das schon hin, aber nicht so elegant wie mit
den
IB-Express Komponenten.
Kennt jemand von euch eine Lösung ?
Vielen Dank und viele Grüße
Matthias