Einzelnen Beitrag anzeigen

Benutzerbild von Neptun
Neptun

Registriert seit: 13. Jul 2006
Ort: Mainz
13 Beiträge
 
Delphi 2006 Enterprise
 
#1

Umstellung IB-Express auf ADO (dbGo)

  Alt 13. Jul 2006, 10:59
Datenbank: Interbase • Version: 7.1 • Zugriff über: IB-Express, ADO
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
  Mit Zitat antworten Zitat