无法从数据库中检索获取错误的值"未处理的异常类型SQL异常"

时间:2017-07-18 18:27:25

标签: java sql postgresql jdbc

我正在尝试从数据库中获取角色变量,我收到的错误是"未处理的异常类型SQL异常"

static int indexValue=0;
public static int getRole(IndexBean w){
    String elid= IndexBean.getId();
           conn = ConnectionProvider.getCon();

           Statement statement = conn.createStatement();
           ResultSet resultset = statement.executeQuery("SELECT role FROM users WHERE elid = '" + elid + "'") ; 
           String role =  resultset.getString(1);
           if(role=="ADMIN"){
               indexValue = 1;
           }else if(role=="analyst"){
               indexValue = 2;
           }
           conn.close();
    return indexValue;
}

}

1 个答案:

答案 0 :(得分:0)

Statement接口的executeQuery(String)方法具有SQLException的检查异常。

在您的代码段中,行

ResultSet resultset = statement.executeQuery("SELECT role FROM users WHERE elid = '" + elid + "'");

有一个未经处理的已检查异常。这就是您获取未处理的异常消息的原因。 无论何时调用此方法,都需要将其放在try-catch块中,或者在包含方法签名中添加抛出SQLException。

See Java Sql Statement API here.