2014-02-24 66 views
0

所以我有一个方法从mysql数据库中检索数据,并将其存储在2维数组'values [i] [k]'中;将现有对象的值添加到JTable中?

其中我代表每个单独的记录,k表示记录中的每个值。 我如何将这个对象添加到JTable?

的值应该是这样的表,但我希望它可以自动完成,而不是我不得不手动将其写出来......

值[0] [0],值[0] [1],值[0] [2],值[0] [3];

values [1] [0],values [1] [1],values [1] [2],values [1] [3];

values [2] [0],values [2] [1],values [2] [2],values [2] [3];

values [3] [0],values [3] [1],values [3] [2],values [3] [3];请注意,值i和k可以是任意数字,而不是固定值。

任何帮助表示赞赏,提前:)

回答

2

所以我有一个MySQL数据库

检索数据当你有没有办法从数据库中检索数据,并希望将其存储在表中,你可以做这样的方法:

//全球宣言

private Vector<Vector<String>> data; //used for data from database 
private Vector<String> header; //used to store data header 

//显示信息,以JTable中

data = get(); 

//create header for the table 
header = new Vector<String>(); 
header.add("Column1"); 
header.add("Column2"); 
... 
model=new DefaultTableModel(data,header); 
table = new JTable(model); 

这将帮助你从数据库中获取数据

get(){ 
Vector<Vector<String>> doublevector = new Vector<Vector<String>>(); 

Connection conn = dbConnection();//Your Database connection code goes in dbConnection() 
PreparedStatement pre1 = conn.prepareStatement("select * from Table"); 

ResultSet rs1 = pre1.executeQuery(); 
while(rs1.next()) 
{ 
Vector<String> singlevector = new Vector<String>(); 
singlevector.add(rs1.getString(1)); 
singlevector.add(rs1.getString(2)); 
.... 
doublevector.add(singlevector); 

} 

return doublevector; 
} 
4

由于没有必要为您创造一个二维数组来暂时保存数据。

当您读取ResultSet中的每一行时,可以使用DefaultTableModeladdRow(...)方法。

相关问题