Einfach if-Abfrage

Status
Nicht offen für weitere Antworten.

Reality

Top Contributor
Hi,
ich habe ein kleines Fremdwörterbuch programmiert.
Das Problem: Wenn ich nun ein Wort ändern will, zeigt es zwar an, dass die Änderung erfolgreich war, aber das tut es auch, wenn der Eintrag nicht existierte.

Folgendes geht nicht:
Code:
Statement stmt=con.createStatement();
int updaten=stmt.executeUpdate(update.toString());
  if(stmt!=null)
  {
  lbUpdate.setText("Update war erfolgreich!");
  }
  else
  {
  lbUpdate.setText("Update fehlgeschlagen");
  }
Es liefert immer, dass der Update erfolgreich war.

Wie kann ich das Problem lösen?

Liebe Grüße
Reality
 

lhein

Top Contributor
Das Statement-Objekt ist normalerweise nie NULL, weil NULL hiesse nicht initialisiert bzw. instanziiert.
Es gibt aber bei einem Statement Metadaten glaube ich, an denen man erkennt, wieviele rows von dem statement affected sind.

Dein Ansatz scheint mir zumindest nicht korrekt.

LR
 

Miskral

Mitglied
Hi reality,

bei deinem Source Code muß das auch so sein.

Da du das Objekt stmt auf null überprüfst. 2 Zeilen vorher erstelltst du aber erst das Objekt somit kann die Variable niemals null sein.

Die richtig if abfrage wäre :

Code:
if(updaten != 0)

Gruß Chris
 

lhein

Top Contributor
Genau,

executeUpdate

public int executeUpdate(String sql)
throws SQLException

Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.

Parameters:
sql - an SQL INSERT, UPDATE or DELETE statement or an SQL statement that returns nothing
Returns:
either the row count for INSERT, UPDATE or DELETE statements, or 0 for SQL statements that return nothing
Throws:
SQLException - if a database access error occurs or the given SQL statement produces a ResultSet object

so solltest du die Rows affected rausbekommen.

LR
 
Hallöle,

ich würde keine if Abfrage machen. In der API Steht das da eine SQL Exception geworfen wird.
Mach lieber einen Try Catch Block.

Code:
try{
    Statement stmt=con.createStatement(); 
    int updaten=stmt.executeUpdate(update.toString()); 
}
catch  (SQLException e){
     lbUpdate.setText("Update fehlgeschlagen"); 
}
Ich glaube das geht besser :)
 

lhein

Top Contributor
Das ist so leider falsch.

Es kann durchaus sein, dass das UPDATE oder DELETE Statement durch eine WHERE Clause so beschränkt wurde, dass es auf keinen Datensatz in der Datenbank zutrifft. In diesem Fall würde es 0 zurückliefern und keine Exception werfen.

Exceptions sind harte Fehler und eignen sich daher für solche Prüfungen eher nicht.

LR
 

Reality

Top Contributor
Hi,
danke Miskral für den Lösungsvorschlag und auch an allen anderen! :D Hätte ich selbst drauf kommen können....
Dass es mit stmt!=null nicht geht, war mir klar. Mir war es wichtig, dass ihr wisst, worauf ich hinaus will.

Danke nochmals!

Liebe Grüße
Reality
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
6 TreeMap - Einträge verschwinden einfach Java Basics - Anfänger-Themen 10
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
N Erste Schritte HelloWorld möchte einfach nicht laufen Java Basics - Anfänger-Themen 11
K Programm stoppt einfach ohne Grund Java Basics - Anfänger-Themen 4
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
N Best Practice Doppelte und einfach Anführungsstriche in Runtime.getruntime().exec() Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
Hanschyo Programm schließt sich einfach Java Basics - Anfänger-Themen 2
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
S Einfach verkette Liste Java Basics - Anfänger-Themen 27
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
R Erste Schritte Verkettete Liste will einfach nicht in meinen Schädel Java Basics - Anfänger-Themen 11
C Methoden Einfach verkette Liste - int Werte aufsteigend sortieren Java Basics - Anfänger-Themen 1
V Codezeile wird einfach nicht ausgeführt Java Basics - Anfänger-Themen 23
M Quadrat zeichnen einfach bitte! Java Basics - Anfänger-Themen 2
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
K Einfach Verkettete Liste - addFirst() Java Basics - Anfänger-Themen 7
N Einfacher Rechner (für mich nicht so einfach) Java Basics - Anfänger-Themen 5
M Array in ein Array übertragen (möglichst einfach) Java Basics - Anfänger-Themen 6
T Input/Output Daten/Objekte einfach speichern Java Basics - Anfänger-Themen 5
R Methoden... ich vesteh sie einfach nicht Java Basics - Anfänger-Themen 15
llabusch Verkette Listen - Einfach und Doppelt Java Basics - Anfänger-Themen 3
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
C Erste Schritte Problem mit der Division von Koeffizienten... oder einfach nur irgendwlechen zahlen Java Basics - Anfänger-Themen 10
D Klassen Klassen, Objekte, Konstruktor - einfach erklärt Java Basics - Anfänger-Themen 12
B Variable wird einfach so wieder auf "null" gesetzt Java Basics - Anfänger-Themen 12
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
X Einfach Verkettete Liste Java Basics - Anfänger-Themen 16
S ich begreife es einfach nicht -> zweck der Schnittstellen Java Basics - Anfänger-Themen 27
J Interface Wie funktioniert das mit den Interfaces. Ich verstehe es einfach nicht! :( Java Basics - Anfänger-Themen 15
W Java-Programm als Icon mit Doppelklick einfach öffnen ? Java Basics - Anfänger-Themen 3
M Layout einfach bilden Java Basics - Anfänger-Themen 4
I Weiß einfach nicht mehr weiter... Java Basics - Anfänger-Themen 3
K Datentypen Einfach/Doppelt verkettete Liste Java Basics - Anfänger-Themen 4
N einfach verkettete liste fehler Java Basics - Anfänger-Themen 5
O Wie kann man das einfach lösen? (dynamisch viele Attribute) Java Basics - Anfänger-Themen 6
N einfach verkettete liste Java Basics - Anfänger-Themen 3
A If-Schleife spinnt - ganz einfach Code - Riesen Problem :) Java Basics - Anfänger-Themen 9
Luk10 einfach animation Java Basics - Anfänger-Themen 2
B OOP Einfach verkettete Liste - rekursive Methoden Java Basics - Anfänger-Themen 1
E JMC - Dlls einbinden - möglichst einfach Java Basics - Anfänger-Themen 8
S einfach verkettete Liste Java Basics - Anfänger-Themen 19
I einfach verkette Liste Java Basics - Anfänger-Themen 9
H Typumwandlung String --> Int (ganz einfach) Java Basics - Anfänger-Themen 9
O Observer - Einfach erklärt? Java Basics - Anfänger-Themen 5
T Einfach verkettete Liste: Wie Elemente löschen? Java Basics - Anfänger-Themen 4
K Ich verstehe switch einfach nicht Java Basics - Anfänger-Themen 4
M jar-Datei einfach umbenennen? Java Basics - Anfänger-Themen 8
D Einfach verkettete Liste Java Basics - Anfänger-Themen 20
S Filewriter schreibt einfach nicht Java Basics - Anfänger-Themen 6
G Opjektorientierte Programmierung (OOP). einfach für euch Java Basics - Anfänger-Themen 4
X WAV conversion ist einfach nicht möglich Java Basics - Anfänger-Themen 2
J jar erstellen. Es klappt einfach nicht Java Basics - Anfänger-Themen 14
L Eingeben Rechnen Ausgeben - Leider nicht so einfach Java Basics - Anfänger-Themen 31
P einfach frage zur vererbung Java Basics - Anfänger-Themen 9
G Frank A. - ports einfach öffnen und schließen Java Basics - Anfänger-Themen 3
M Caeser Verschlüsselung ganz einfach(nicht für mich) Java Basics - Anfänger-Themen 6
L while wird einfach übersprungen? Java Basics - Anfänger-Themen 4
D einfach berechnung einer onlinezeit Java Basics - Anfänger-Themen 25
B Thread will einfach nicht stoppen Java Basics - Anfänger-Themen 12
B Packages einfach kopieren? Java Basics - Anfänger-Themen 13
N Mein Applet findet -online- einfach die Klasse nicht ! Java Basics - Anfänger-Themen 6
S Java rundet einfach auf 0 Java Basics - Anfänger-Themen 2
C einfach verkettete Liste -> Elemente vertauschen Java Basics - Anfänger-Themen 2
L Ein Bild auf ein JFrame legen. nicht so einfach? =( Java Basics - Anfänger-Themen 11
M Tablelayout einbinden - ich schaff's einfach nicht Java Basics - Anfänger-Themen 16
D Button Text will einfach nicht erscheinen Java Basics - Anfänger-Themen 6
M Methoden. ich versteh das einfach nicht! Bitte helfen! Java Basics - Anfänger-Themen 4
H Kann man in Java einfach einen Beep erzeugen Java Basics - Anfänger-Themen 2
C einfach aber komisch Java Basics - Anfänger-Themen 5
R einfach verkettete Liste, intersect Java Basics - Anfänger-Themen 4
P Restart Button für einfach Applikation Java Basics - Anfänger-Themen 7
H RAF geht einfach nicht Java Basics - Anfänger-Themen 12
D RegEx Probleme - wahrscheinlich zu einfach. Java Basics - Anfänger-Themen 2
E einfach verkettete liste, nullPointerException Java Basics - Anfänger-Themen 5
H Einfach Datenübergabe Java Basics - Anfänger-Themen 4
S RegEx Syntax - ich verstehe sie einfach nicht! Java Basics - Anfänger-Themen 3
V Teil eines Programms funktioniert einfach nicht Java Basics - Anfänger-Themen 2
V If Schleife wird beim ausführen einfach ignoriert Java Basics - Anfänger-Themen 4
D Einfach Leerzeile einfügen ? Java Basics - Anfänger-Themen 2
G Owner von JDialog;Komme einfach nicht weiter Java Basics - Anfänger-Themen 4
B Applet geht einfach nicht Java Basics - Anfänger-Themen 16
S UIManager kann einfach nicht aufgelöst werden Java Basics - Anfänger-Themen 4
B Eine Linie zeichnenmit Java, ich verstehe das einfach nicht Java Basics - Anfänger-Themen 4
A Einfach, gut erklärte Übungen!!! Java Basics - Anfänger-Themen 3
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 10
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
L If Abfrage Java Basics - Anfänger-Themen 4
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
W if-Abfrage bei ArrayList-Methodenaufrufen - Wie löse ich das? Java Basics - Anfänger-Themen 6
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben