简体   繁体   English

Java-ResultSet更改Db列名称以显示在JTable中

[英]Java - ResultSet change Db column names to show in JTable

I am using rs2xml .jar for populating data into table. 我正在使用rs2xml .jar将数据填充到表中。 here is my code of showing table columns and data 这是我显示表列和数据的代码

ResultSet rs = stmt.executeQuery("select * from employees");

table_employees.setModel(DBUtiles.resultSetToTableModel(rs));

This code successfully works But I want to rename the columns. 这段代码可以成功运行,但是我想重命名列。 I don't want to show the DB Columns in my table. 我不想在表中显示数据库列。

You need to update the TableColumn from the TableColumnModel : 您需要更新TableColumnTableColumnModel

TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(0).setHeaderValue("whatever you want");

Or you can override the getColumnName(...) method when you create your JTable: 或者,您可以在创建JTable时重写getColumnName(...)方法:

JTable table = new JTable( DBUtilities.resultSetToTableModel(rs)
{
    private String[] columnNames = 
    {
        "Column 1",
        "Column 2",
        "Column ..."
    };

    @Override
    public String getColumnName(int col) 
    {
        return columnNames[col];
    }
};

You can consider using the code below if you wish to use DB values with java column names and you can set the column names in java using the TableModel property of the jTable. 如果希望将DB值与java列名一起使用,可以考虑使用以下代码,并且可以使用jTable的TableModel属性在java中设置列名。

DefaultTableModel tmodel = (DefaultTableModel) jTable1.getModel();
tmodel.addRow(new Object[] {....});
jTable1.setModel(tmodel);

Hope this helps. 希望这可以帮助。

You can get column name as per your choice from Sql query like 您可以根据需要从Sql查询中获取列名,例如

SELECT column name as 'Student Id', Column Name as 'Student name' FROM student;

Query give you result with column name as per you decide. 查询将根据您的决定为您提供带有列名的结果。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM