Variablen Integer in Stmt

T

TryToProg

Gast
Servus Leute,
programmiere momentan für die Schule eine Datenbank zur Kundenverwaltung.

Java:
	myStmt.executeUpdate ("INSERT INTO Kundendaten "
							+ "VALUES ( ' " + nachname.getText() + " ' , ' "
							+ ort.getText() + " ' , ' " + straße.getText()
							+ " ' , ' " + telefonnummer.getText()
							+ " ' , ' " + XXXXXX + "');

An stelle der XXXXX würde ich nun gerne eine Integer Variable einfügen, um eine fortlaufende Kundennummer möglich zu machen. Dies ist so vorgegeben.
Für einen kleinen Denkanstoß wäre ich sehr sehr dankbar...!!!

Viele Grüße
 
Zuletzt bearbeitet von einem Moderator:

Stroker89

Bekanntes Mitglied
Du kannst die Variable doch einfach anhängen:

Java:
int zahl = 91;
myStmt.executeUpdate ("INSERT INTO Kundendaten "
                            + "VALUES ( ' " + nachname.getText() + " ' , ' "
                            + ort.getText() + " ' , ' " + straße.getText()
                            + " ' , ' " + telefonnummer.getText()
                            + " ' , ' " + zahl + "');
 
T

TryToProg

Gast
String literal is not properly closed by a double-quote

diesen fehler bekomme ich wenn ich es so mache...
 
S

SlaterB

Gast
und fällt dir bei [c]"');[/c] am Ende nichts selber auf?

weitere Details sind ebenso offensichtlich: eine Zahl an die DB besser nicht in Anführungszeichen übergeben,
bei den meisten Anführungszeichen hast du noch Leerzeichen dazu, ist das klug?
nur am Ende arbeitest du ohne Leerzeichen, bei einer Zahl aber wie gesagt besser ganz weg

fange immer mit reinem SQL an, ein kompletter String:
[c]INSERT INTO Kundendaten VALUES ('TestNachname', ..."[/c]
dann parallel mit Variablen nachbauen und den erstellten String ausgeben und vergleichen,
nicht gleich an DB senden und den Inhalt nur vage zu ahnen
 

Stroker89

Bekanntes Mitglied
Ja weil hinten ein " fehlt was die Fehlermeldung ja auch sagt...

"closed by a double-quote"

Java:
myStmt.executeUpdate ("INSERT INTO Kundendaten "
                            + "VALUES ( '" + nachname.getText() + "', '"
                            + ort.getText() + "', '" + straße.getText()
                            + "', '" + telefonnummer.getText()
                            + "', '" + zahl + "'");
 
Zuletzt bearbeitet:
G

Gast2

Gast
Schau dir mal PreparedStatements an.... Wenn du das SQL selber so zusammen baust musst du sicher stellen dass du alles richtig quotest.
 
T

TryToProg

Gast
Ah ja. Habe hinten das Zeichen übersehen, so funktioniert es.

myStmt.executeUpdate("INSERT INTO pizzaservice "
+ "VALUES ( ' " + nachname.getText() + " ' , ' "
+ ort.getText() + " ' , ' " + straße.getText()
+ " ' , ' " + telefonnummer.getText()
+ " ' , ' " + KundennummerTemp + "'");

Nur das jetzt garnichts mehr geht. Hier mal der Code:




Connection myCon;
Statement myStmt;


try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

myCon = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/pizzaservice", "root",
"");

myStmt = myCon.createStatement();


myStmt.executeUpdate("INSERT INTO pizzaservice "
+ "VALUES ( ' " + nachname.getText() + " ' , ' "
+ ort.getText() + " ' , ' " + straße.getText()
+ " ' , ' " + telefonnummer.getText()
+ " ' , ' " + KundennummerTemp + "'");

ResultSet result = myStmt
.executeQuery("SELECT * FROM pizzaservice");
result.next();
KundennummerTemp = result.getInt( "Kundennummer:" ); // hier wird die Kundennummer ausgelesen
KundennummerTemp = KundennummerTemp + 1;


while (result.next()) {

System.out.println(result.getString("Nachname:"));

}
myCon.close();

} catch (Exception sqlEx) {
System.err.println(sqlEx);
System.out.println("SQL Fehler");

}



Hier muss ein Syntax Fehler vorliegen. Kann jedoch keinen fehler feststellen.
Fehlermeldung: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SQL Fehler
 

TryToProg

Mitglied
[Java]Connection myCon;
Statement myStmt;


try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

myCon = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/pizzaservice", "root",
"");

myStmt = myCon.createStatement();


myStmt.executeUpdate("INSERT INTO pizzaservice "
+ "VALUES ( ' " + nachname.getText() + " ' , ' "
+ ort.getText() + " ' , ' " + straße.getText()
+ " ' , ' " + telefonnummer.getText()
+ " ' , ' " + KundennummerTemp + "'");

ResultSet result = myStmt
.executeQuery("SELECT * FROM pizzaservice");
result.next();
KundennummerTemp = result.getInt( "Kundennummer:" ); // hier wird die Kundennummer ausgelesen
KundennummerTemp = KundennummerTemp + 1;


while (result.next()) {

System.out.println(result.getString("Nachname:"));

}
myCon.close();

} catch (Exception sqlEx) {
System.err.println(sqlEx);
System.out.println("SQL Fehler");

} [/code]
 
A

asdfghjl

Gast
Eine Zahl in einem SQL Statement setzt man auch nicht in Hochkommas.

Wie bereits vorgeschlagen könnte man mit derVerwendung von PreparedStatements solche Fehler vermeiden.
 

Stroker89

Bekanntes Mitglied
Hab die Anweisung mal "umgebaut" und ich hoffe dir fällt selber etwas auf...

Java:
INSERT INTO pizzaservice VALUES ( 'nachname.getText()', 'ort.getText()', 'straße.getText()', 'telefonnummer.getText()', 'KundennummerTemp'

und hier sogar nochmal mit eingesetzten Werten:

Java:
INSERT INTO pizzaservice VALUES ( 'Mustermann', 'Musterhausen', 'Musterstraße', '3124324', '2'

DAS ist DEINE Anweisung, finde den Fehler...

@fassy: Cool das war mir bis jetzt auch unbekannt :) sehr hilfreich ;)
Danke
 
Zuletzt bearbeitet:
G

Gast2

Gast
Kleine Hilfe:
Java:
            myStmt = myCon.prepareStatement("INSERT INTO pizzaservice VALUES (?,?,?,?,?)");
            
            myStmt.setString(1, nachname.getText());
            myStmt.setString(2, ort.getText());
            myStmt.setString(3, straße.getText());
            myStmt.setString(4, telefonnummer.getText());
            myStmt.setInt(5, KundennummerTemp);

            myStmt.executeUpdate();

Nebenbei denke ich mal deine String aus z.B: nachname.getText() kommen direkt aus einem Textfeld. Ohne PreparedStatements oder zumindest ein escapen der Strings ist deine Anwendung extrem SQL Injection gefährdet.
 

Templarthelast

Bekanntes Mitglied
[OT]
Kleine Hilfe:
Nebenbei denke ich mal deine String aus z.B: nachname.getText() kommen direkt aus einem Textfeld. Ohne PreparedStatements oder zumindest ein escapen der Strings ist deine Anwendung extrem SQL Injection gefährdet.

Hoffen wir mal, dass der TO das Problem auch so sieht und eine einfache Abwehr gegen SQL Injection einbaut. Ich verstehe einfach nicht wie immer wieder auch etwas größere Websites von solch simplen Agriffen lahm gelegt werden.
[/OT]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
sserio printf integer formatting Java Basics - Anfänger-Themen 17
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
T Java Integer multiplizieren Java Basics - Anfänger-Themen 6
H Fehler bei integer Division Java Basics - Anfänger-Themen 28
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
C Integer in Vierer-Zahlblöcke aufteilen Java Basics - Anfänger-Themen 11
L integer Java Basics - Anfänger-Themen 6
Zeppi Integer umschreiben Java Basics - Anfänger-Themen 5
rafi072001 Integer Anomalie Java Java Basics - Anfänger-Themen 7
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
D Fibonacci overflow integer Java Basics - Anfänger-Themen 8
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V int zu Integer und String Java Basics - Anfänger-Themen 6
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex zum Integer.parseInt Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
K Datentypen String zu Integer parsen Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
S Integer aus Array filtern Java Basics - Anfänger-Themen 4
F Referenzvariable vom Typ "Integer" definieren. (Klausuraufgabe) Java Basics - Anfänger-Themen 5
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
B Variablen integer im Array Java Basics - Anfänger-Themen 5
C Liste o.ä. erstellen mit <Integer, <Integer, String> Java Basics - Anfänger-Themen 7
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
H 32-Bit Zahl (Integer) in eine IPv4 Adresse umwandeln? Java Basics - Anfänger-Themen 2
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
M Argument in Integer verwandeln und das Doppelte davon printen Java Basics - Anfänger-Themen 9
D Fehler: String zu Integer Java Basics - Anfänger-Themen 7
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
E Integer und Array übergeben Java Basics - Anfänger-Themen 9
W Fehler bei Integer.parseInt() Java Basics - Anfänger-Themen 4
R String in Integer Java Basics - Anfänger-Themen 11
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
J Integer in Array einlesen Java Basics - Anfänger-Themen 14
J Warum ist das ein Unterschied (Integer / int) Java Basics - Anfänger-Themen 2
H Integer in Datei schreiben Java Basics - Anfänger-Themen 2
B OOP Cannot instantiate the type AuDList<Integer> Java Basics - Anfänger-Themen 18
3 ArrayList Integer Wrapper Klasse als Ersatz für normale Arrays Java Basics - Anfänger-Themen 10
K Methoden Integer runden/aufrunden Java Basics - Anfänger-Themen 2
E Erste Schritte Lower Bounded Wildcards <? super Integer> Java Basics - Anfänger-Themen 1
M Datentypen Integer und Float Konflikt Java Basics - Anfänger-Themen 3
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7
T Integer Wert in andere Methode übergeben Java Basics - Anfänger-Themen 2
N Probleme bei Speicherung eines Integer-Array in Datei speichern Java Basics - Anfänger-Themen 3
C Zwei Integer Arrays "kombinieren" Java Basics - Anfänger-Themen 10
D Integer Fehlermeldung exception Java Basics - Anfänger-Themen 4
M Höchster Integer aus 9 Zahlen Java Basics - Anfänger-Themen 13
I Klassen Integer von BL in GUI übergeben | Fehler Java Basics - Anfänger-Themen 4
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
D Datentypen Ein Integer Feld in einen String wandeln ohne Nullenunterdrückung Java Basics - Anfänger-Themen 6
R integer zahlenfolge speichern, ausgeben Java Basics - Anfänger-Themen 1
L Summer aller Integer-Zahlen im Intervall [x,y] Java Basics - Anfänger-Themen 6
K ArrayList<Integer> problem Java Basics - Anfänger-Themen 3
L Vom Benutzer eingebene Integer addieren und ausgeben. Java Basics - Anfänger-Themen 11
S integer absteigend sortieren Java Basics - Anfänger-Themen 2
S ArrayList<ArrayList<Integer>> sortieren Java Basics - Anfänger-Themen 3
B gemischter string zu integer Java Basics - Anfänger-Themen 22
R Big Integer Java Basics - Anfänger-Themen 8
B Erste Schritte Integer Eingabe über Scanner mit Abfangen von Eingabefehlern Java Basics - Anfänger-Themen 3
B Variablen Wertezuweisung bei integer Java Basics - Anfänger-Themen 5
J Integer Werte in Array einlesen Java Basics - Anfänger-Themen 6
E Integer oder Strings spiegeln (in while loop) Java Basics - Anfänger-Themen 6
D String mit Integer Variablen Namen vergleichen, möglich? Java Basics - Anfänger-Themen 6
G Was passiert bei einem Overflow von zwei Integer Java Basics - Anfänger-Themen 6
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
N Probleme beim Rechnen mit Integer und double Java Basics - Anfänger-Themen 4
A Integer aus Stream to Double Java Basics - Anfänger-Themen 7
J Integer.parseInt Java Basics - Anfänger-Themen 23
G String Array konvertieren in Integer Array? Java Basics - Anfänger-Themen 7
K Datentypen double x als Bruch aus Integern macht x zu integer? Java Basics - Anfänger-Themen 3
G Uhrzeit als String in Integer (HH:MM:SS) Java Basics - Anfänger-Themen 5
T Cannot convert from Integer to int Java Basics - Anfänger-Themen 12
T abfrage eines Integer Array s Java Basics - Anfänger-Themen 5
flatpat Variablen Eratosthenes mit Integer Array Java Basics - Anfänger-Themen 10

Ähnliche Java Themen


Oben