Entwickler-Ecke

Datenbanken - ZeosLib... Truncate table


uranop - Mi 22.07.09 13:26
Titel: ZeosLib... Truncate table
Mahlzeit Leute,

kann mir einer von Euch verraten, warum mir die ZeosKomponenten immer nen Fehler um die Ohren hauen ala

>> Can not open a ResultSet <<

wenn ich einfach nur eine Tabelle leeren will ?


Delphi-Quelltext
1:
2:
ZQuery2.SQL.Text := 'TRUNCATE pauschale';
ZQuery2.Active := True;


Ich habe mich schon mit mehreren Sachen gespielt aber immer kommt diese Doofe Meldung : /

Auch finde ich derzeit keinen Weg auf andere Art und weise einfach das Table ( Inkl. Autoinkrementwert ) zu leeren.


HÜÜLLFÄÄÄ : )


Nersgatt - Mi 22.07.09 13:29

Ich kenn mich mit Zeos nicht aus, aber das Problem wird sein, dass die Abfrage ja nichts zurückgibt. Gibt es nicht eine Methode a la ".Excecute", o.Ä.


uranop - Mi 22.07.09 13:47

.ExecSQL ja gibt es.

nur dann labert das ding was von index out of bounds. was ja auch stimmt tabelle ist dann leer
kann aber nicht wieder aufgefüllt werden ...

deswegen müsste es was geben was löscht ohne "feedback"


Nersgatt - Mi 22.07.09 13:52

Ich denke, mit ExecSQL bist auf dem richtigen Weg, ohne Zeos zu kennen.
Poste mal etwas mehr Code, wo Du ExecSQL verwendest und die genaue Fehlermeldung und an welcher Stelle der Fehler auftritt.


uranop - Mi 22.07.09 14:25

ich habs mit 2 zeilen code mehr hinbekommen ....


Delphi-Quelltext
1:
2:
3:
4:
ZQuery2.SQL.Text := 'DELETE FROM pauschale WHERE ID >= "1"';
ZQuery2.ExecSQL;
ZQuery2.SQL.Text := 'ALTER TABLE pauschale AUTO_INCREMENT = 1';
ZQuery2.ExecSQL;



das mit dem list index weiss ich nun auch wos herkommt.
ist aber andere baustelle