hallo, ich versuche grade mit java eine verbindung zu einer Mysql Datenbank aufzubauen aber ich bekomme den fehler:
java.sql.SQLException: Parameter index out of range( 1 > number of parameters, which is 0):
eigentlich sollte der code richtig sein und ich weiß nicht wo das problem ist =( ... hoffe mir kann jemand helfen.
hier mal mein code:
Code
- public class MySQLConnection {
- private static Connection conn = null;
- // Hostname
- private static String dbHost = "IP";
- // Port -- Standard: 3306
- private static String dbPort = "3306";
- // Datenbankname
- private static String database = "DATABASE";
- // Datenbankuser
- private static String dbUser = "USER";
- // Datenbankpasswort
- private static String dbPassword = "PW";
- private MySQLConnection() {
- try {
- // Datenbanktreiber für ODBC Schnittstellen laden.
- // Für verschiedene ODBC-Datenbanken muss dieser Treiber
- // nur einmal geladen werden.
- Class.forName("com.mysql.jdbc.Driver");
- // Verbindung zur ODBC-Datenbank herstellen.
- // Es wird die JDBC-ODBC-Brücke verwendet.
- conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":"
- + dbPort + "/" + database + "?" + "user=" + dbUser + "&"
- + "password=" + dbPassword);
- } catch (ClassNotFoundException e) {
- System.out.println("Treiber nicht gefunden");
- } catch (SQLException e) {
- System.out.println("Connect nicht moeglich");
- }
- }
- private static Connection getInstance()
- {
- if(conn == null)
- new MySQLConnection();
- return conn;
- }
- /**
- * Aktualisiert den Datensatz mit dem übergebenen Player string
- */
- public static void updatepoints(String Player)
- {
- conn = getInstance();
- if(conn != null)
- {
- try {
- // Ergebnistabelle erzeugen und abholen.
- String updateSql = "UPDATE SPIELER " +
- "SET POINTS = 1" +
- "WHERE PLAYER = '?'";
- PreparedStatement preparedUpdateStatement = conn.prepareStatement(updateSql);
- // Zweites Fragezeichen durch "lastName" Parameter ersetzen
- preparedUpdateStatement.setString(1, Player);
- // SQL ausführen
- preparedUpdateStatement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }