我想从cityHotelData Table获取连接的citycode-hotelcode对。 (citycode和hotelcode是cityHotelData Table中的varchar)
当我使用phpPgAdmin运行以下查询时,它可以正常工作。
select citycode || '-' || hotelcode from cityHotelData
但是当我使用JDBC在java中运行它时会出现以下错误。
org.postgresql.util.PSQLException: The column name citycode || '-' || hotelcode was not found in this ResultSet.
我正在使用PostgreSQL 8.0.26.
Java代码:
Connection conn = DriverManager.getConnection(ConnString,ConnUser,ConnPassword);
public ResultSet executeStatementQuery(String sql) throws Exception {
this.qry = sql;
try {
stmt = conn.createStatement(); // Statement stmt
rs = stmt.executeQuery(sql); //ResultSet rs
} catch (SQLException sqlEx) {
sqlEx.printStackTrace();
closeResultSet();
} catch (Exception cnfe) {
closeResultSet();
cnfe.printStackTrace();
}
return rs;
}
答案 0 :(得分:4)
试试这个:
SELECT (citycode || '-' || hotelcode) AS cityhotel
FROM cityHotelData
修改强>: 要排除任何Java问题,请尝试使用此Java代码:
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(
"SELECT (citycode || '-' || hotelcode) AS cityhotel FROM cityHotelData"
);
while (rs.next()) {
System.out.print("City-hotel code: ");
System.out.println(rs.getString(1));
}
rs.close();
st.close();
答案 1 :(得分:1)
我不确定为什么会出现这个问题 - 这显然是查询的JDBC准备工作的一个问题,但我们仍然没有完整的图片而没有看到查询的确切位置以及它如何传递到{{1 }}
一个简单的替代方法是使用此查询:
executeStatementQuery
然后只需将这些值与java层中的select citycode, hotelcode from cityHotelData
连接起来。