我正在研究一個小小的Minecraft插件。我試圖用我的DatabaseManager
類將數據插入到數據庫中,但由於某種原因,它不起作用。沒有錯誤消息,密碼和用戶名是正確的。此外,我試圖手動插入SQL代碼到數據庫中,它的工作原理,所以沒有SQL語法錯誤。對我來說,似乎這個聲明不是由於某種原因而被執行的,但我無法找到失敗。以下是我班的代碼。JDBC語句沒有執行(沒有錯誤)
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);
}
}
您可能想查看[this](http://stackoverflow.com/a/3226433/1008671)。 – budwiser
每次需要運行查詢時,您可能都想重新考慮打開和關閉數據庫連接。打開是非常昂貴的(耗時),並且會導致你的mod在需要查詢時很慢。相反,我建議在第一次需要查詢時(或者你的mod啓動時)打開你的連接,保持它打開,然後在你的mod關閉時關閉它。通過這種方式,您可以多次重新使用連接,並節省連續重新打開的成本。 – SnakeDoc
是的,謝謝你生病考慮這個! – TBrauwers