2

我正在使用 JTable 来显示查询结果。表并未显示XYZ为所有列,但它显示XYZ为数据库中不存在的字段(操作字段)的标题。

对数据库内部了解不多。如果太基础,请原谅。

 rs1 = st1.executeQuery("SELECT product.`id` as `Product ID`,product.`serialnumber` as `Serial Number`, product.`dop` as `Date Of Purchase` FROM product where product.`dop` between '"+from+"' and '"+to+"'");

         reportTable.setModel(buildTableModel(rs1));

查询浏览器上的相同查询输出:

Product ID    Serial Number     Date Of Purchase     
1              123244mf43m      08/08/2013

我的 JDBC 输出是:

id   serialnumber       dop      //table header
1    123244mf43m      08/08/2013
4

1 回答 1

4

这里描述了一个配置设置:

http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html

useOldAliasMetadataBehavior

如果设置为 true(5.0.x 中的默认值),则只会返回 ResultSetMetaData.getColumnName() 或 ResultSetMetaData.getTableName() 的别名(如果有),而不是原始列/表名。

不确定这是否适用于您,但可能是原因。

于 2013-08-08T10:20:09.703 回答