【问题标题】:MYSQL boolean return checkbox, not return tinyintMYSQL 布尔返回复选框,不返回 tinyint
【发布时间】:2023-03-30 00:57:02
【问题描述】:
SELECT false as "Select" from Table_Name

在 derby 中运行的 SQL 我得到了这个输出:

在 MYSQL 中运行的 SQL 我得到了这个输出:

我想使用 ResultSet 创建一个带有复选框列的 JTable。

当我使用derby时它是可行的,我的JTable有一个带有复选框的列。

但是当我使用 MYSQL 时,我的 JTable 有一个 0 列。

问题出现在 Which MySQL data type to use for storing boolean values

所以现在我在想:

  1. 我是否可以配置 MYSQL,直到它可以像 derby 一样返回复选框?
  2. MYSQL 中是否有可以返回布尔数据类型 true/false 的函数?不是其他数据类型。
  3. 是否可以更改 ResultSet 以获取复选框?

我的最终目标是创建一个 JTable,其中复选框列作为第一列,并填充来自数据库的数据 SELECT。每个人都想要简单的方法。

目前我正在使用这种方法Using Rob Camick's ListTableModel, but JTable doesnt show up

//ListTableModel model = ListTableModel.createModelFromResultSet(rs); 
model = ListTableModel.createModelFromResultSet(rs); 

【问题讨论】:

  • JTable,默认根据列值的类类型选择合适的单元格渲染器。例如,使用 DefaultTableModel 将导致它直接使用列 class 类型 (value.getClass()),这可能不会返回 Boolean。一种解决方案是直接设置列渲染器,但您需要能够为列值返回 true/false 值才能使其工作。

标签: java mysql swing jtable


【解决方案1】:

感谢疯狂程序员,

自定义渲染器确实好用,我找到了合适的自定义列渲染器。

CheckBoxTableCellRenderer.java

我的最终目标实现了,创建一个 JTable,其中一个复选框列作为第一列,并填充了来自数据库的数据 SELECT。每个人都想要简单的方法。

【讨论】:

    猜你喜欢
    • 2012-12-01
    • 2020-02-03
    • 2014-01-24
    • 2015-10-17
    • 1970-01-01
    • 2015-02-14
    • 2013-08-18
    • 2013-02-10
    • 1970-01-01
    相关资源
    最近更新 更多