Ich arbeite an einem kleinen Minecraft-Plugin. Ich versuche, Daten in die Datenbank mit meiner DatabaseManager
Klasse einzufügen, aber aus irgendeinem Grund funktioniert es nicht. Es gibt keine Fehlermeldungen und das Passwort und der Benutzername sind korrekt. Ich habe auch versucht, den SQL-Code manuell in die Datenbank einzufügen und es funktioniert, so dass es keine SQL-Syntaxfehler gibt. Für mich scheint es, dass die Aussage aus irgendeinem Grund nicht ausgeführt wird, aber ich kann den Fehler nicht finden. Unten ist der Code meiner Klasse.JDBC-Anweisung wird nicht ausgeführt (keine Fehler)
import java.sql.*;
public class DatabaseManager {
Connection conn = null;
Statement stmt = null ;
ResultSet result = null;
String user = "root" ;
String pass = "";
public ResultSet executeQuery(String query) throws SQLException{
try{
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/metrocraft",user,pass);
stmt = conn.createStatement();
result = stmt.executeQuery(query);
}catch (Exception ex){
ex.printStackTrace();
}finally{
if(result != null)
result.close();
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
}
return result ;
}
//Metrocraft relevant code
public void addZone(double p1X , double p1Y,double p2X,double p2Y) throws SQLException{
String sql = "INSERT INTO `zones`(`p1X`, `p1Y`,`p2X`, `p2Y`) VALUES (" + p1X + ","+ p1Y+","+p2X+","+p2Y+"); ";
System.out.print(sql);
executeQuery(sql);
}
}
Sie möchten vielleicht [diese] (http://stackoverflow.com/a/3226433/1008671) überprüfen. – budwiser
Möglicherweise möchten Sie das Öffnen und Schließen der Datenbankverbindung jedes Mal erneut überprüfen, wenn Sie eine Abfrage ausführen müssen. Das Öffnen ist sehr teuer (zeitraubend) und führt dazu, dass dein Mod langsam ist, wenn es abgefragt werden muss. Stattdessen würde ich vorschlagen, dass du deine Verbindung öffnest, wenn du das erste Mal abfragen musst (oder wenn dein Mod startet), es offen hält und es dann schließt, wenn deine Mod heruntergefahren wird. Auf diese Weise können Sie die Verbindung mehrfach verwenden und die Kosten für die erneute Öffnung kontinuierlich sparen. – SnakeDoc
Yeah danke, du denkst darüber nach! – TBrauwers