0

cityHotelDataテーブルから連結されたcitycode-hotelcodeペアを取得したい。(citycodeとhotelcodeはcityHotelDataテーブルの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;
    }
4

2 に答える 2

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();
于 2012-11-08T06:35:24.737 に答える
1

この問題が発生している理由はわかりません。これは明らかにクエリのJDBC準備の問題ですが、クエリがどこから発生し、どのように渡されるかを正確に確認しないと、全体像を把握できませんexecuteStatementQuery

簡単な代替方法は、次のクエリを使用することです。

select citycode, hotelcode from cityHotelData

-次に、代わりにこれらの値をJavaレイヤーで連結します。

于 2012-11-08T06:49:17.977 に答える