Java 自动附加在jtable中的额外列(如何删除)

Java 自动附加在jtable中的额外列(如何删除),java,swing,jtable,oracle11g,Java,Swing,Jtable,Oracle11g,我正在从事一个java项目 我正在使用JDK1.6 我想在jtable中添加数据库中的数据 我通过使用DefaulTableModel实现了这一点 我使用ResultSetMetadata获得了列名 但问题是 **我在jtable的第0个索引处获得了一个额外的列名a 我想删除此列 看起来像这样 A | deptno 我只需要戴普诺 ** 用于创建此模型的代码是 private void updateTable() throws Exception { String sqlrow = "

我正在从事一个java项目 我正在使用JDK1.6

我想在jtable中添加数据库中的数据 我通过使用DefaulTableModel实现了这一点 我使用ResultSetMetadata获得了列名 但问题是

**我在jtable的第0个索引处获得了一个额外的列名a 我想删除此列 看起来像这样

A | deptno

我只需要戴普诺 **

用于创建此模型的代码是

private void updateTable() throws Exception {

    String sqlrow = "Select count(*) from emp";
    rs= db.sta.executeQuery(sqlrow); 
        rs.next();                           
     int rows=rs.getInt(1);  
    System.out.println(""+rows);


    String sqldata = "SELECT deptno FROM emp";
   rs =db.sta.executeQuery(sqldata);
    rsMD = rs.getMetaData();
   numberOfColumns = rsMD.getColumnCount();
   ColumnNames = new String[numberOfColumns+1];
    System.out.println(""+numberOfColumns);

    for(int i=1;i<=numberOfColumns;i++)
    {
        String colName=rsMD.getColumnName(i);
        ColumnNames[i] = colName;
        System.out.println(""+ColumnNames[i]);
    }


    //Cj is a method which takes sqlQuery , rows, column
    Object[][] rowData=CJ(sqldata,rows,numberOfColumns);
    //jt is table name 
    jt.setModel(new DefaultTableModel(rowData,ColumnNames));

}

请帮帮我吧

不遵守命名约定会让人很难阅读,但我建议仔细看看下面的代码

   numberOfColumns = rsMD.getColumnCount();
   ColumnNames = new String[numberOfColumns+1];
    System.out.println(""+numberOfColumns);

    for(int i=1;i<=numberOfColumns;i++)
    {
        String colName=rsMD.getColumnName(i);
        ColumnNames[i] = colName;
        System.out.println(""+ColumnNames[i]);
    }
numberOfColumns=rsMD.getColumnCount();
ColumnNames=新字符串[numberOfColumns+1];
System.out.println(“+numberOfColumns”);

for(inti=1;i不遵循命名约定会使其难以阅读,但我建议仔细看看下面的代码

   numberOfColumns = rsMD.getColumnCount();
   ColumnNames = new String[numberOfColumns+1];
    System.out.println(""+numberOfColumns);

    for(int i=1;i<=numberOfColumns;i++)
    {
        String colName=rsMD.getColumnName(i);
        ColumnNames[i] = colName;
        System.out.println(""+ColumnNames[i]);
    }
numberOfColumns=rsMD.getColumnCount();
ColumnNames=新字符串[numberOfColumns+1];
System.out.println(“+numberOfColumns”);

对于(int i=1;若将shift键固定并应用于每个句子的开头,单词“i”的每个实例,以及适合于J2SE类,那个么我可能就能读到那个问题了。现在我觉得你们明白了吗?请将shift键固定并应用于每个句子的开头,单词“i”的每个实例,以及适合于J2的每个实例SE类和我可能能够读到这个问题。现在是okkz吗?我觉得你理解nowbro了,这是不可能的,因为在java中,索引从1开始,如果我们将放置0,那么无效的索引错误+1用于发现问题(尽管解决方案已关闭)。当你访问“ColumnNames”数组时,你需要使用(I-1)因为数组索引是零基的.@ cjJ,学习标准的java命名约定。变量名不是从一个上面的字符开始的。我是初学者,我不习惯命名约定,但是我会注意到,我不会犯这样的错误,我现在实现了,但是现在空白列出现在JTAY的黑色边上。ke thisbro这是无法做到的,因为在java中,索引从1开始,如果我们将放入0,那么无效的索引错误+1用于发现问题(尽管解决方案已关闭)。当您访问“ColumnNames”数组时,您需要使用(i-1)因为数组索引是零基的.@ cjJ,学习标准的java命名约定。变量名不是从一个上面的字符开始的。我是初学者,我不习惯命名约定,但是我会注意到,我不会犯这样的错误,我现在实现了,但是现在空白列出现在JTAY的黑色边上。像这样
   numberOfColumns = rsMD.getColumnCount();
   ColumnNames = new String[numberOfColumns+1];
    System.out.println(""+numberOfColumns);

    for(int i=1;i<=numberOfColumns;i++)
    {
        String colName=rsMD.getColumnName(i);
        ColumnNames[i] = colName;
        System.out.println(""+ColumnNames[i]);
    }