我正在连接到sqlite数据库并抓取所有列名。我需要帮助的是将这些列名放在rs.getString中并插入在String数组中获取的值,然后可以在tablemodel上设置。
我的代码现在:
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
// The column count starts from 1
for (int i = 1; i < columnCount + 1; i++ ) {
String name = rsmd.getColumnName(i);
System.out.println(name);
// Do stuff with name
model.setColumnCount(i);
}
while ( rs.next() ) {
String value1 = "";
String value2 = "";
String value3 = "";
String value4 = "";
value1 = rs.getString("SNO");
value2 = rs.getString("SNAME");
value3 = rs.getString("STATUS");
value4 = rs.getString("CITY");
model.addRow(new Object[] { value1,value2,value3,value4});
}
我希望它是什么:
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
// The column count starts from 1
for (int i = 1; i < columnCount + 1; i++ ) {
String name = rsmd.getColumnName(i);
System.out.println(name);
// Do stuff with name
model.setColumnCount(i);
}
while ( rs.next() ) {
String values[];
values[] = rs.getString(name);
model.addRow(new Object[] {values[]});
}
答案 0 :(得分:0)
请勿继续致电model.setColumnCount(i);
。只需设置一次(在for循环之外),就像这样model.setColumnCount(columnCount);
// Do stuff with name
model.setColumnCount(i); // Not this...
// Do stuff with name
model.setColumnName(i, name); // Something like this... that is set the name