2016-08-01 15 views
-2

Ich versuche derzeit, ein Java-Programm für ein Schulprojekt, das eine MySQL-Datenbank von Sportclub-Mitgliedern hat, zu programmieren. Ich möchte die ID der Mitglieder verwenden, um die Anzahl der übersprungenen Klassen zu ändern. Mein Java-Code wird jedoch immer nicht ausgeführt und gibt die Ausnahmebedingungsnachricht aus. Meine Datenbank heißt demo1 und das Feld, das ich versuche zu aktualisieren, ist Consecutiveskips. Das ID-Feld genannt wird (id)Wie aktualisiere ich einen Datensatz in MySQL durch Java

enter image description here

+2

die Ausnahme anzeigen zu lassen und Ihren Code als Text hinzufügen – Jens

+0

Sie haben zwei Parameter zu binden – Jens

+0

Als die erste Zahl ist die Position, an der der Parameter an – Jens

Antwort

0

einfachste Weg Datensatz zu aktualisieren ist durch Anweisung

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection oCon = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); 

String query="Update Demo1 SET Consecutiveskips=? where id=?"; 
PreparedStatement preparedStatement = oCon.prepareStatement(query); 
preparedStatement.setInt(1, 233); 
preparedStatement.setInt(2, 4); 

In Ihrem Code Sie verwenden setInt (6,1), aber es gibt keinen sechsten Index Geschenk. Sie sollten

preparestaement.setInt(1,"yourconsicutiveskipvalue"); 
preparestaement.setInt(2,"idvalue"); 

Darüber hinaus stellen Sie sicher, verwenden mysql-connector.jar in Classpath

+0

binden sollte Sie sollten vorbereitete Anweisungen verwenden. – Jens

+0

aber er ist neu in jdbc, so einfach fragen @jens –

+1

Aber der einfachste Weg ist nicht der beste Weg. Prepared Statements verhindert die SQL-Injektion – Jens

Verwandte Themen