Entwickler-Ecke

Datenbanken - ExecSQL: Wieviele Datensätze wurden geändert


jasocul - Mo 05.12.05 13:38
Titel: ExecSQL: Wieviele Datensätze wurden geändert
Mal eine Frage an die Oracle-Spezis.
Ich setze [url=http://www.allroundautomations.com]DOA[/url] ein und mache mit eine TOracleDataSet ein Update-Statement.
Nun würde ich gerne hinterher wissen, wieviel Datensätze von der Änderung betroffen sind.
Hat jemand einen Tipp für mich?


noidic - Mo 05.12.05 13:43

Mein Tipp wäre, statt des TOracleDataSet ein TORacleQuery zu benutzen :) Das hat dann ne Property RowsProcessed, die genau das rauswirft. Beim Dataset bin ich aber auch überfragt, ist ja auch eher für Selects gedacht.


smiegel - Mo 05.12.05 13:45

Hallo,

mal ganz dumm gefragt, da ich DAO nicht kenne. Ist ExecSQL eine Funktion oder Procedure? Wenn es eine Funktion ist, dann müsste ExecSQL die Anzahl der geänderten Datensätze zurückgeben. Bei ADO ist es so.


noidic - Mo 05.12.05 14:09

Ist eine Procedure.


jasocul - Mo 05.12.05 14:14

@noidic:
Jo, das war mir soweit klar. Da ich in der Anwendung mit selects und DML-Anweisungen rechnen muss, wollte ich mir sparen, beide Komponenten zu verwenden. Analysieren muss ich das Statement ja sowieso, damit ich weiß, ob ich ein Open oder ein ExecSQL machen muss. Sollte keiner mehr eine Idee haben, werde ich wohl doch beides verwenden müssen. Dann muss ich allerdings einiges im Source umstellen.

@smiegel:
Danke für die Idee. Auf Anhieb hätte ich das auch nicht gewusst. Ich musste das auch erst nachsehen.


noidic - Mo 05.12.05 14:35

Kannst du nicht auch für die selescts ne TOralceQuery nehmen? Oder brauchst du die Eigenschaften von TDataset?

Hab nochmal weiter geschaut, mit dem TOracleDataset siehts an der Stelle böse aus.


jasocul - Mo 05.12.05 17:01

Ich werde das wohl umstellen. Kostet mich zwar 1 bis 2 Stunden, aber mit aller Gewalt rumtricksen ist sicher noch aufwändiger.