我正在使用Java和MySQL的Web應用程序工作。無法從ResultSet中獲取值
我創建了一個方法,該方法應該根據數據庫中的各個表返回各個列名的ArrayList。
但是,當我調試該方法時,我意識到while(rs.next())
會導致錯誤。我用這個site作爲參考,因此我不確定哪裏出了問題。
這是代碼。謝謝。
// Returns the the all the columns in the table
public ArrayList getColumnName(String tableName) throws SQLException {
ResultSet rs = null;
List<String> columnName = new ArrayList<String>();
Statement st = null;
Connection con = null;
try {
// Get a connection from the connection factory
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/information_schema", "root", "xxxx");
// Create a Statement object so we can submit SQL statements to the driver
st = con.createStatement();
StringBuilder sql = new StringBuilder("SELECT column_name FROM information_schema.columns " +
"WHERE table_schema = 'testDB' AND table_name = '");
sql.append(tableName).append("'");
rs = st.executeQuery(sql.toString());
while (rs.next()) { // getting error..
columnName.add(rs.getString("column_name"));
}
} catch (SQLException ex) {
Logger.getLogger(ModificationPage.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if (con != null || st != null) {
st.close();
con.close();
}
}
return (ArrayList) columnName;
}
你看到什麼錯誤? –
沒有堆棧跟蹤,發生的事情是從while(rs.next())開始,它會逐步捕獲(SQLException ex)。同時,在我的Web應用程序中,頁面將刷新,而應該顯示的表格組件不存在。 –