【问题标题】:getting a boolean value from postgresql in java从 java 中的 postgresql 获取布尔值
【发布时间】:2012-11-21 13:55:22
【问题描述】:

我无法从 java 中的 postgresql 表中打印布尔值。

桌子:

java=# select * from Materias;
 codigo | nombre | contenido | troncal 
--------+--------+-----------+---------
      1 |        |           | f
      2 |        |           | f
      3 |        |           | f
      4 |        |           | t
      5 |        |           | t
      6 |        |           | t

现在使用 getString 输出

   linea = String.format("%-15d %-20s %-10s", resultado.getInt(1), resultado.getString(2), resultado.getString(3));
    Codigo          Nombre               Troncal   
    1                                    null      
    2                                    null      
    3                                    null      
    4                                    null      
    5                                    null      
    6                                    null 

使用 getBoolean 输出

linea = String.format("%-15d %-20s %-10s", resultado.getInt(1), resultado.getString(2), resultado.getBoolean(3));

    Codigo          Nombre               Troncal   
    1                                    false     
    2                                    false     
    3                                    false     
    4                                    false     
    5                                    false     
    6                                    false     

【问题讨论】:

    标签: java sql linux postgresql netbeans


    【解决方案1】:

    您有 4 列,但您只查看前 3 列! rs.getX(int) 方法从 1 开始索引(令人困惑)

    顺便说一句,我会重写您的选择,以明确说明您要求返回它们的列和顺序。

    【讨论】:

    • 它本质上是不直观的,因为 Java 是零索引的,而 SQL 是 1 索引的(我实际上忘记了这是否在 SQL 规范中,或者大多数人都是这样做的)。所以有人肯定会感到困惑——要么是写 java 的 db 人,要么是使用 db 的 java 人。
    • yes 是不直观的,但如果它从零开始,问题是一样的。因为我忘了看表。最好使用列名。
    猜你喜欢
    • 2016-07-08
    • 1970-01-01
    • 2021-12-17
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2015-11-27
    • 2018-06-03
    相关资源
    最近更新 更多