因此,我正在使用JDBC连接到本地主机MySQL服务器,并且在编写try块以与服务器连接并发送查询时,出现'Cannot find symbol'
错误。
[我知道这是因为对象是在try条件内初始化的,而我正在尝试从finally条件使用它,但是我也无法在try块之外对其进行初始化,因为出现错误提示'The try-with-resources resource must be a variable declaration or an expression denoting to a final or effectively final variable'
] >
我试图编写代码的总体思路是,无论是否引发异常,都能够在finally块中关闭与数据库的连接。有问题的代码如下(错误突出显示的行):
public static String returnEmployeeName(String ID) throws ClassNotFoundException, SQLException { HashMap<String, String> infoHR = connectionInfoHR(); String query = "SELECT first_name FROM employees WHERE employee_id = '" + ID + "'"; Class.forName("com.mysql.cj.jdbc.Driver"); Statement st; ResultSet rs; Connection con; try (con = DriverManager.getConnection(infoHR.get("url"), infoHR.get("uname"), infoHR.get("pass"))) { //Error on line above relating to not initialising the object within the statement st = con.createStatement(); rs = st.executeQuery(query); rs.next(); return rs.getString("first_name"); } finally { st.close(); con.close(); } }
提前为可以提供的帮助加油:)
[因此,我正在使用JDBC连接到本地主机MySQL服务器,并且在对try块进行编码以使其与服务器连接并发送查询时,出现“找不到符号”错误。我了解...
您需要像下面一样更改代码
我认为您打算使用: