【发布时间】:2011-12-13 15:17:42
【问题描述】:
我正在做一个 java 项目 我正在使用 jdk 1.6
我想在 jtable 中添加数据库中的数据 我通过使用 DefaulTableModel 实现了这一点 我通过使用 ResultSetMetadata 获得了列名 但问题是
**我在 jtable 的第 0 个索引处获得了一个额外的列名 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));
}
// cj() 的代码
public Object[][] CJ(String sql,int rows,int cols)
{
Object[][] obj=new Object[rows][cols+1];
ResultSet rs=null;
try{
rs= db.sta.executeQuery(sql);
int c=0;
while(rs.next())
{
for(int i=1;i<=cols;i++)
{
obj[c][i]=rs.getString(i);
}
c++;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
return obj;
}
我正在使用此代码 按钮点击
updateTable();
jsp = new JScrollPane(jt); // jt is Jtable
jp.add(jsp); //jp is jpanel
请帮帮我
【问题讨论】:
-
修正你的 shift 键并将其应用在每个句子的开头、单词“I”的每个实例以及适用于 J2SE 类的情况下,我可能能够阅读该问题。跨度>
-
现在可以了吗?我觉得你现在明白了
标签: java swing jtable oracle11g