java - 生成列名行

标签 java jdbc

我如何生成一个由 SQL 表中的列名组成的表并将其添加到 JFRAME/JPANEL 中。

我知道生成后如何添加它,但我如何实际生成它?

表称为属性,因此我希望从属性中选择*列名并生成一个JTable,然后我可以将其添加到JPANEL

基本上是一列水平行的列名,例如...

PropertyID 卧室地址 价格类型 发布日期

我尝试了以下代码,但它只生成表数据而不是列名称。

public static DefaultTableModel buildTableModel(ResultSet rs)
        throws SQLException {

    ResultSetMetaData metaData = (ResultSetMetaData) rs.getMetaData();

    // names of columns
    Vector<String> columnNames = new Vector<String>();
    int columnCount = metaData.getColumnCount();
    for (int column = 1; column <= columnCount-1; column++) {
        columnNames.add(metaData.getColumnName(column));
    }



    // data of the table
    Vector<Vector<Object>> data = new Vector<Vector<Object>>();
    while (rs.next()) {
        Vector<Object> vector = new Vector<Object>();
        for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
            vector.add(rs.getObject(columnIndex));
        }
        data.add(vector);
    }

    return new DefaultTableModel(data, columnNames);

}

最佳答案

结果集元数据包含列名信息。

  // Get the metadata
  ResultSetMetaData md = rs.getMetaData() ;

  // Print the column labels
  for( int i = 1; i <= md.getColumnCount(); i++ )
     System.out.print( md.getColumnLabel(i) + " " ) ;
  System.out.println() ;

谷歌搜索结果集元数据发现了这个example code

关于java - 生成列名行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19414564/

相关文章:

java - 使用 MySQL 数据库语法错误填充 jTable

java - 从命令行运行 Jersey 项目

java - 尽管使用 WebDriverWait,python selenium 登录错误

java - 创建连接时抛出 SQLException。

java - 为什么此代码不关闭 JDBC 连接? (Java 7 可自动关闭的意外行为)

java.sql.SQLException : No suitable driver found for jdbc:mysql://localhost/WORLD

从 jar 中删除文件的 ant 任务

java - int 反向符号 negate() java

java - Mockito JUnit 测试抛出异常的方法

java - access数据库无法执行SQL LIKE