如何将值设置为jtable?
How to set values to jtable?
我的数据库中有两个表(使用mysql workbench),但是我不能同时将两个表中的数据设置为jtable。我该如何解决这个问题?
(获取两个表或相关字段的值并设置到jtable中)
I mean two resultsets?
为什么你有两个 ReultSets?您有两个选择:
更改您的 SQL 查询以将数据放入单个结果集中
不要使用 DBUtils 创建 TableModel
在这种情况下,您需要一次一行地手动从 ResultSet 加载数据。
对于第一个结果集,您需要为 table 创建列,然后添加数据行。基本逻辑是:
Vector<Object> columnNames = new Vector<Object>();
Vector<Object> data = new Vector<Object>();
// Read data from a table
String sql = "Select * from ???";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery( sql );
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
// Get column names
for (int i = 1; i <= columns; i++)
{
columnNames.addElement( md.getColumnName(i) );
}
// Get row data
while (rs.next())
{
Vector<Object> row = new Vector<Object>(columns);
for (int i = 1; i <= columns; i++)
{
row.addElement( rs.getObject(i) );
}
data.addElement( row );
}
rs.close();
stmt.close();
connection.close();
}
catch(Exception e)
{
System.out.println( e );
}
对于第二个 ResultSet,您只需将数据添加到 Vector。
然后使用这两个向量创建 DefaultTableModel,并使用 TableModel 创建 JTable。
我的数据库中有两个表(使用mysql workbench),但是我不能同时将两个表中的数据设置为jtable。我该如何解决这个问题? (获取两个表或相关字段的值并设置到jtable中)
I mean two resultsets?
为什么你有两个 ReultSets?您有两个选择:
更改您的 SQL 查询以将数据放入单个结果集中
不要使用 DBUtils 创建 TableModel
在这种情况下,您需要一次一行地手动从 ResultSet 加载数据。
对于第一个结果集,您需要为 table 创建列,然后添加数据行。基本逻辑是:
Vector<Object> columnNames = new Vector<Object>();
Vector<Object> data = new Vector<Object>();
// Read data from a table
String sql = "Select * from ???";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery( sql );
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
// Get column names
for (int i = 1; i <= columns; i++)
{
columnNames.addElement( md.getColumnName(i) );
}
// Get row data
while (rs.next())
{
Vector<Object> row = new Vector<Object>(columns);
for (int i = 1; i <= columns; i++)
{
row.addElement( rs.getObject(i) );
}
data.addElement( row );
}
rs.close();
stmt.close();
connection.close();
}
catch(Exception e)
{
System.out.println( e );
}
对于第二个 ResultSet,您只需将数据添加到 Vector。
然后使用这两个向量创建 DefaultTableModel,并使用 TableModel 创建 JTable。