当前位置: 首页 > 知识库问答 >
问题:

如何解决错误:关系“user_login”不存在PostgreSQL[重复]中的位置:22

勾裕
2023-03-14

尝试获取ResultSet时出现以下错误:

我有一个表名user_login,但错误指示的是小写表名。我一直试图调试它,但我无法找出根本原因。下面是我的代码片段。请看一下。

public String execute() throws SQLException {
    String returnPage = "ERROR";
    Connection connection = null;
    try {
        Class.forName("org.postgresql.Driver");
        connection = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/Dislocation", "user","pass");

        String sql = "SELECT username FROM User_Login WHERE";
        sql+=" username = ? AND password = ?";

        PreparedStatement stmt = connection.prepareStatement(sql);
        stmt.setString(1, this.getUsername());
        stmt.setString(2, this.getPassword());

        ResultSet resultSet = stmt.executeQuery(); // causing error

        while (resultSet.next()) {
            this.username = resultSet.getString(1);
            this.password = resultSet.getString(2);
            returnPage = "SUCCESS";
        }

    } catch (ClassNotFoundException ex) {
        returnPage = "ERROR";
        ex.getMessage();
    } finally {
        if (connection != null) {
            connection.close();
        }
    }
    return returnPage;
}

堆栈跟踪:

org.postgresql.util.psqlexception:错误:关系“user_login”不存在位置:22

共有1个答案

奚卓
2023-03-14

如果表名包含大写字母,则必须用双引号环绕表名:

String sql = "SELECT username FROM \"User_Login\" WHERE";

有关详细信息,请参阅文档。

 类似资料:
  • 我正在学习postgresql,并用elephantsql制作这个表格: 但当我尝试插入到: 它返回:

  • 问题内容: 我在使用PostgreSQL 9.3和使用qoutes创建的表时遇到了一个奇怪的问题。例如,如果我使用qoutes创建表: 该表已正确创建,在pgAdminIII的SQL窗格中查看该引号时,可以看到保留了引号。但是,当我查询数据库以查找所有可用表的列表时(使用下面的查询),我看到结果不包含表名的引号。 由于该表是用引号创建的,因此我无法直接使用上述查询返回的表名,因为该表名未加引号,并

  • 我在列名方面也遇到了同样的问题,但我希望如果我能找到一个解决表名问题的方法,那么类似的方法也能适用于列名。

  • 问题内容: 我在尝试使用PostgreSQL和Hibernate时遇到一些问题,更具体地说,是标题中提到的问题。我已经在网上搜索了几个小时,但没有找到适合我的解决方案。 我正在为Web开发人员使用Eclipse Java EE IDE。在Ubuntu 9.10上使用HibernateTools,Hibernate 3,PostgreSQL 8.4.3构建ID:20090920-1017 以下是相关

  • 我对PostgreSQL JDBC有问题 我使用PostgreSQL-9和Glassfish,如果我用pgAdmin执行查询,我不会有任何错误,但在我的应用程序中,我有以下错误: Severe:org.postgresql.util.psqlexception:erreur:erreur de syntaxe sur our près de“d” 位置 ;:293 在org.postgresql.

  • 我试图@JoinColumn两个实体,分别命名为Customer和Account。一个客户可以有多个帐户,所以我认为在customer实体中使用@onetomany是正确的。和帐户实体中的@manytoone。但是,它总是在控制台中给我重复的列名。可以通过更改变量名来解决这个问题,但我不能简单地更改它,因为hibernate在DB中找不到列名。即使添加@column name属性也行不通。 有什么