错误"java.sql.SQLException: ORA-04054"JDBC-ORACLE

Error "java.sql.SQLException: ORA-04054" JDBC-ORACLE

我的代码如下所示:

ResulSet rs = stmt.executeQuery("select passwd from mrs_user where email="+mail_id);
String usr_paswd = rs.getString(1);

但是报错如下:

java.sql.SQLException: ORA-04054: database link G.COM does not exist

mail_id=dk@g.com

首先,字符串应该在引号 'mail_id' 之间,但这种方式不安全,可能会导致 SQL 注入或语法错误,您可以使用 PreparedStatement.

其次,您仍然没有得到任何结果,您必须先调用 rs.next() 才能将光标移动到下一行(阅读有关 Retrieving and Modifying Values from Result Sets)。


代码示例

String usr_paswd = null;
try (PreparedStatement stmt = connection.prepareStatement(
        "select passwd from mrs_user where email=?")) {
    stmt.setString(1, mail_id);
    ResulSet rs = stmt.executeQuery();
    if(rs.next()){
       usr_paswd = rs.getString(1);      
    }
}