# Delete Befehl will irgendwie nicht



## docfunee (31. Jul 2006)

hi,

hab folgendes,  Datensatz wird aber nicht gelöscht :


```
openDBConn();
			st = conn.createStatement();
			st.executeUpdate("DELETE FROM Antwort WHERE antwortVorhanden ='name';");
			conn.close();
```


Antwort ist der Tabellenname und antwortVorhanden ist ein Feld in der Tabelle..
was mach ich falsch???

danke


----------



## foobar (31. Jul 2006)

Was passiert denn wenn du das Statement über ein Sqltool absetzt?


----------



## docfunee (1. Aug 2006)

foobar hat gesagt.:
			
		

> Was passiert denn wenn du das Statement über ein Sqltool absetzt?



wie meinst du das?  und was für ein Tool meinst du?
ich bekomme auch keine Fehlermeldung oder sonstiges...


----------



## foobar (1. Aug 2006)

> und was für ein Tool meinst du?


Irgendein SqlTool z.b. Tora, SqlPlus und was da sonst noch so gibt. Wenn du Eclipse verwendest kann ich dir Quantum DB empfehlen. Dann siehst du auch ob deine Query greift oder nicht.


----------



## Gast (4. Aug 2006)

nimm mal das semicolon nach dem delete statement weg...
ich weiß zwar nicht ob das tragisch ist aber normalerweise macht man das nicht...


----------



## Gast (4. Aug 2006)

ach ja... du könntest auch ein select auf die table machen und das in ein result set schmeißen, dann läufst du das result set durch bis zu der zeile die du löschen willst und dann machst du ein ResultSet.deleteRow();
ist übrigens auch die elegantere lösung


----------



## The_S (4. Aug 2006)

Gast hat gesagt.:
			
		

> ach ja... du könntest auch ein select auf die table machen und das in ein result set schmeißen, dann läufst du das result set durch bis zu der zeile die du löschen willst und dann machst du ein ResultSet.deleteRow();
> *ist übrigens auch die elegantere lösung*



wtf???  :bahnhof:


----------



## thE_29 (4. Aug 2006)

st.executeUpdate("DELETE FROM Antwort WHERE antwortVorhanden ='name';"); 

Liefert normalerweise einen int Wert zurück wieviele Reihen es gelöscht/geupdated oder geinserted hat!

Was kommt den da zurück?


----------



## SamHotte (4. Aug 2006)

@Gast: von wegen elegant - bist noch nicht lange im SQL-Land, oder? Sowas sollte man auf keinen Fall machen  :noe: 

@the_29: das mit dem Rückgabewert ist prinzipiell richtig, kann aber (z.B. wenn man MS Access benutzt) in die Hose gehen, da man da auch bei erfolgreichem Löschen 0 zurückbekommt - ist zumindest bei mir der Fall. Bei INSERT und UPDATE funktioniert das korrekt, nur bei DELETE nicht.


----------

