我使用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
答案 0 :(得分:3)
此处描述了配置设置:
http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html
useOldAliasMetadataBehavior
,如果设置为true(5.0.x中的默认值),则只返回ResultSetMetaData.getColumnName()或ResultSetMetaData.getTableName()的别名(如果有),而不是原始列/表名。
不确定这是否适用于您,但可能是原因。