无法访问MySql表中的列

时间:2014-12-31 16:13:28

标签: java mysql jdbc

我无法使用以下代码访问idRooms

try{
        Connection myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/HSM_schema","root","");
        Statement myStmt = myConn.createStatement();
        ResultSet myRs = myStmt.executeQuery("select * from Rooms");

        while(myRs.next()){
            System.out.println(myRs.getString("idRooms ")+", "+ myRs.getString("RoomType"));
        }
    }
    catch (Exception ex){
    ex.printStackTrace();
    }

这是我的表:

enter image description here

当我运行myRs.getString("RoomType")时,它的效果非常好。有什么想法吗? 谢谢你。

3 个答案:

答案 0 :(得分:3)

如果idRooms,您似乎有一个额外的空白区域。将myRs.getString("idRooms ")更改为myRs.getString("idRooms")

答案 1 :(得分:2)

idRooms之后你有一个多余的空间。由于您没有名为idRooms的列,因此会失败。 只需删除多余的空间,你就可以了:

while(myRs.next()){
    System.out.println(myRs.getString("idRooms")+", "+ myRs.getString("RoomType"));
    // Here-----------------------------------^
}

答案 2 :(得分:1)

您在列名称" idRooms" 的末尾有一个空格,这必须是原因。

由于idRoomsint列,我建议您使用getInt方法而不是字符串方法 所以你可以使用

 System.out.println(myRs.getInt("idRooms")+", "+ myRs.getString("RoomType"));

System.out.println(myRs.getString(1)+", "+ myRs.getString(2)); // using coloumn index

 System.out.println(myRs.getInt(1)+", "+ myRs.getString(2));