Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成列名行_Java_Jdbc - Fatal编程技术网

Java 生成列名行

Java 生成列名行,java,jdbc,Java,Jdbc,如何生成由SQL表中的列名组成的表,并将其添加到JFRAME/JPANEL 我知道一旦我生成了它,如何添加它,但我实际上如何生成它呢 表名为properties,因此我希望从properties中选择*columnames,并生成一个JTable,然后将其添加到JPANEL 基本上是一行水平列名称,例如 物业ID卧室地址价格类型日期广告 我尝试了以下代码,但它只生成表数据,而不是列名 public static DefaultTableModel buildTableModel(ResultSe

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

我知道一旦我生成了它,如何添加它,但我实际上如何生成它呢

表名为properties,因此我希望
从properties
中选择*columnames,并生成一个
JTable
,然后将其添加到
JPANEL

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

物业ID卧室地址价格类型日期广告

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

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);

}
publicstaticdefaulttablemodel buildTableModel(ResultSet-rs)
抛出SQLException{
ResultSetMetaData=(ResultSetMetaData)rs.getMetaData();
//列名
向量列名称=新向量();
int columnCount=metaData.getColumnCount();

对于(int column=1;column),结果集元数据包含列名信息

  // 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() ;
//获取元数据
ResultSetMetaData md=rs.getMetaData();
//打印列标签

for(int i=1;i这似乎完成了单独设置它们的工作。可以使用数组和for循环进行清理

            columnNames.getColumnModel().getColumn(0).setPreferredWidth(100);
            columnNames.setValueAt("PropertyID", 0, 0); 
            columnNames.getColumnModel().getColumn(1).setPreferredWidth(50);
            columnNames.setValueAt("Beds", 0, 1); 
            columnNames.getColumnModel().getColumn(2).setPreferredWidth(350);
            columnNames.setValueAt("Address", 0, 2); 
            columnNames.getColumnModel().getColumn(3).setPreferredWidth(101);
            columnNames.setValueAt("Price", 0, 3); 
            columnNames.getColumnModel().getColumn(4).setPreferredWidth(101);
            columnNames.setValueAt("Type", 0, 4); 
            columnNames.getColumnModel().getColumn(5).setPreferredWidth(101);
            columnNames.setValueAt("Parking", 0, 5); 
            columnNames.getColumnModel().getColumn(6).setPreferredWidth(101);
            columnNames.setValueAt("Condition", 0, 6); 
            columnNames.getColumnModel().getColumn(7).setPreferredWidth(100);
            columnNames.setValueAt("Agent", 0, 7); 
            columnNames.getColumnModel().getColumn(8).setPreferredWidth(100);
            columnNames.setValueAt("Show", 0, 8); 
            columnNames.getColumnModel().getColumn(8).setPreferredWidth(101);
            columnNames.setValueAt("Ad Date", 0, 9);