This question already has an answer here:
SQLException: Invalid Column Name…?

(1个答案)


4年前关闭。




我正在尝试从数据库获取结果
        String strCommand = "select TO_CHAR (realdate, 'YYYYMMDD'), PURCHASE_PRICE, SELLING_PRICE from CURRENCY_VI where RATE_NAME='EUR'";

        cs.setQueryTimeout(m_nTimeout);

        ResultSet rs = cs.executeQuery(strCommand);

        while (rs.next()){
            System.out.println("!!!\n\nDATE = " + rs.getString("realdate") + " PURCHASE_PRICE = " + rs.getString("PURCHASE_PRICE") + " SELLING_PRICE = " + rs.getString("SELLING_PRICE"));
        }

它说rs.getString("realdate")-“java.sql.SQLException:无效的列名”,为什么?

没有rs.getString("realdate"),一切都可以正常工作。

实际上,表格有此列
  CREATE TABLE "GPB"."CURRENCY_VI"
   (           "REALDATE" DATE,
                "PURCHASE_PRICE" FLOAT(126),
                "SELLING_PRICE " FLOAT(126),
                "RATE_NAME" VARCHAR2(20 BYTE)
   )

谢谢!

最佳答案

我认为您没有选择realdate。您选择TO_CHAR (realdate, 'YYYYMMDD'),该列将获得该名称。您可以执行以下操作:

TO_CHAR (realdate, 'YYYYMMDD') as myrealdate

然后选择(使用`rs.getString("myrealdate"),而不是realdate)

07-24 22:21