Autor Beitrag
dm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 83



BeitragVerfasst: Mo 14.10.02 09:18 
Ich greife per ADO und Microsoft.Jet.OLEDB.4.0 auf eine ACCESS Datenbank zu

Mit der SQL Anweisung :

DELETE * FROM tabellenname

...möchte ich die Datensätze löschen. Wenn ich den Befehl ausführe, bekomme ich jedoch folgende Fehlermeldung :

"Der aktuelle Provider unterstützt nicht die Wiedergabe mehrerer Recordsets bei einer einzelnen Ausführung"

und wenn man OK klickt kommt :

"ADOQuery1 : CommandText gibt keine Ergebnismenge zurück" :shock:


Der Witz dabei ist --> Die Operation wird korrekt ausgeführt!! Er löscht wie gewünscht die Datensätze, bloß die Fehlermeldung zeigt er trotzdem an.

Weiss jemand wie ich das Problem lösen kan oder die Fehlermeldungen unterdrücken kann ??

Gruß DM
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mo 14.10.02 10:06 
Hi
Korrekterweise müsste die Anweisung lauten:
ausblenden Quelltext
1:
DELETE FROM Tabellenname					

Also ohne den Stern, denn einzelne Felder kannst du sowieso nicht löschen. Probier mal, ob die Meldung dann immer noch kommt.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Mo 14.10.02 17:15 
Für alle Query-Komponenten, ob BDE, ADO oder native gilt:
SQL-Befehle, welche keine Datenmenge (Recordset) zurücklieferen, dürfen nicht mit open ausgeführt werden, sondern nur mit ExecSQL, bzw. dem entsprechenden Äquivalent der jeweiligen Komponente.
Die Fehlermeldung
Zitat:
ADOQuery1 : CommandText gibt keine Ergebnismenge zurück
kommt deshalb, weil bei Delete kein Datenbankcursor zurückgeliefert wird.

Schau mal in der Delphi-Hilfe zu diesem Thema nach, da ist es knapp, aber ausreichend erläutert.

:idea:

_________________
Alfons Grünewald
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 15.10.02 10:04 
Hi
Alfons G hat vollkommen recht.
dm hat folgendes geschrieben:

"ADOQuery1 : CommandText gibt keine Ergebnismenge zurück"

Hab ich glatt überlesen. Peinlich. :oops:

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...