【问题标题】:Error "java.sql.SQLException: ORA-04054" JDBC-ORACLE错误“java.sql.SQLException:ORA-04054”JDBC-ORACLE
【发布时间】:2018-02-26 01:13:05
【问题描述】:

我的代码如下:

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

【问题讨论】:

    标签: java sql jdbc oracle11g rdbms


    【解决方案1】:

    首先,字符串应该在引号'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);      
        }
    }
    

    【讨论】:

    • 感谢您的回答。它说,java.sql.SQLException: Exhausted Resultsset mrs_user 数据库模式是,名称,手机,电子邮件,密码
    • @theavatar 尝试使用if(rs.next()){ usr_paswd = rs.getString(1); } 可能你的表中没有结果!
    • 我做了,但显然代表
    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多