尝试获取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
如果表名包含大写字母,则必须用双引号环绕表名:
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属性也行不通。 有什么