我正在使用 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
最佳答案
此处描述了一个配置设置:
http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html
useOldAliasMetadataBehavior
如果设置为 true(5.0.x 中的默认值),将仅返回 ResultSetMetaData.getColumnName() 或 ResultSetMetaData.getTableName() 的别名(如果有),而不是原始列/表名称。
不确定这是否适用于您,但可能是原因。
关于mysql - Select AS 与 jdbc 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123234/