SQL Problemchen

nero110

Mitglied
Nabend zusammen,

ich habe ein kleines Problem mit PreparedStatements.

Code ist wie folgt:

Code:
  	  Class.forName("com.mysql.jdbc.Driver").newInstance();
  
 	 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "jd78kf");
  
  	  PreparedStatement preparedStatement = connection.prepareStatement("CREATE DATABASE ?");
  	  preparedStatement.setString(1, string_databaseName);
  
  	  preparedStatement.executeUpdate();
  	  preparedStatement.
  
  	  preparedStatement.close();
  
  	  connection.close();

und die Fehlermeldung ist: java.sql.SQLException: 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

Verwirrt mich, da das 1:1 aus Java ist auch eine Insel genommen ist.

Danke im Voraus,

Chris
 
Bist du sicher, dass die Variable "string_databaseName" belegt ist ..

Und was soll das preparedStatement. <-- ?! da ..

Gruß Stefan
 
achso, tut mir leid, unsaubere testversion:

code ist, im ganzen, wie folgt: (der untere abschnitt ohne preparedstatements laeuft)

Code:
  public void server_createDatabase(String string_databaseName) {
 	try {
 	  Class.forName("com.mysql.jdbc.Driver").newInstance();
 
 	  Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "txtaux");
 
 	  PreparedStatement preparedStatement = connection.prepareStatement("CREATE DATABASE ?");
 	  preparedStatement.setString(1, string_databaseName);
 
 	  preparedStatement.executeUpdate();
 
 	  preparedStatement.close();
 
 	  connection.close();
 	  
 	 
 	 /*Class.forName("com.mysql.jdbc.Driver").newInstance();
 	 
 	 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "txtaux");
 	 
 	 java.sql.Statement statement = connection.createStatement();
 	 
 	 String sqlStatement = "CREATE DATABASE " + string_databaseName;
 	 
 	 statement.executeUpdate(sqlStatement);
 	 
 	 statement.close();
 	 
 	 connection.close();*/
 	}
 	catch(Exception e) {
 	  System.err.println(e);
 	  
 	}
   }

der nicht auskommentierte code, mit preparedstatements, laeuft nicht. fehlermeldung wie ersteintrag im thread.

danke im voraus,

chris
 
Moin !

Dachte erst es gefunden zu haben, bin nu aber auch etwas ratlos .. Eigentlich sollte es funktionieren .. Mal sehen, ob jemand den Fehler findet *gepannt sei :)

Gruß Stefan
 
Zuletzt bearbeitet:
Zurück