Delete Befehl will irgendwie nicht

  • Themenstarter Themenstarter docfunee
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
D

docfunee

Gast
hi,

hab folgendes, Datensatz wird aber nicht gelöscht :

Code:
                       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 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...
 
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.
 
nimm mal das semicolon nach dem delete statement weg...
ich weiß zwar nicht ob das tragisch ist aber normalerweise macht man das nicht...
 
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 😉
 
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:
 
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?
 
@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.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben