Hallo,
ich bin dabei ein Delphi Programm zu schreiben welches über dbexpress Komponenten aus einer Informix Datei liest. Nun sollen Änderungen gemacht werden und diese wieder zurück geschrieben werden. Damit ich mir viel Schreibarbeit spare würde ich das gern wie bei einem TTable handhaben. Sprich die Tabelle mit .edit in den Editmodus setzen, Felder vom Typ TDBEdit ändern und mit .post das ganze zurück schreiben.
Dafür bin ich folgeneds Tutorial durchgegangen:
http://gethelp.devx.com/techtips/del...0min0701-1.asp
Was funktioniert:
Ich habe also eine TSQLConnection, ein TSQLDataSet um die Daten auszulesen. Ich habe ein TDataSetProvider welches mit dem TSQLDataSet verbunden ist.
Dazu kommt ein TClientDataSet welches mit dem TDataSetProvider verbunden ist.
Die DBEdit Felder sind mit einer TDataSource verbunden welches als DataSet das TClientDataSet verbunden hat.
Nun setze ich das TClientDataSet in den edit Modus und ich kann in den DBEdit Feldern den Inhalt verändern.
Was NICHT funktioniert:
Sobald ich aber post Aufrufe erhalte ich die Meldung
"<TClientDataSet> : Diese Operation ist bei einer unidirektionalen Datenmenge nicht gestattet"
Da die Meldung in Deutsch ist und nicht in Englisch, denke ich das die Meldung direkt von der Komponente kommt. Die Meldung vom Luxena Treiber und von Informix sind alle in Englisch.
Hoffe jemand hat ne Lösung und ich habe einfach nur etwas übersehen.
Ich weiß zwar das dies auch über TSQLConnection.execute() geht, aber genau dieser Weg ist mir für die Zukunft zu Aufwendig.
Gruß Sven