请问如何将数据库中得到的数据写入table中?

Frank1982 2004-07-20 04:23:08
table的定义代码如下:
changShangXinXiTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"厂商编号", "厂商名称", "应付款金额", "预付款金额", "实际欠款", "联系人", "联系电话", "邮政编码", "通信地址", "入档日期"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false, false, false, false, false
};

public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
链接数据库代码如下
try{
result = db.executeQuery(SQLString);
while (result.next()){
//这里就加入取数据库中数据和设置table值的代码
}
}
catch(java.sql.SQLException se){}

要求是,当有多条数据符合查询条件的话把所有符合的行都显示在table中

谢谢了!
...全文
203 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiang823517 2004-07-23
  • 打赏
  • 举报
回复
当然DefaultTableModel也可以用不同的构造,都看你自己的实际需要~
lixiang823517 2004-07-23
  • 打赏
  • 举报
回复
addRow方法是DefaultTableModel的方法~

创建一个DefaultTableModel对象
DefaultTableModel de=new DefaultTableModel();
String[] colum = { "1", "2", "3", "4", "5", "6", "7" };
de = new DefaultTableModel(colum, 0);

然后用这个de去构造你的table
JTable jt=new JTable;
jt.setModel(de);

然后再de.addRow(Object[][] obj);

DefaultTableModel的addRow有好几个,自己选用了
hl_longman 2004-07-23
  • 打赏
  • 举报
回复
study
apple21 2004-07-23
  • 打赏
  • 举报
回复
学习
朋友别哭 2004-07-22
  • 打赏
  • 举报
回复
up
Frank1982 2004-07-21
  • 打赏
  • 举报
回复
我知道为什么了,我没有用DefaultTableModel类
而是使用了JTable
所以没有addRow方法
Frank1982 2004-07-21
  • 打赏
  • 举报
回复
谢谢,但是好像没有addRow这个方法啊
我改用setValueAt方法了,但是又面临问题了
代码如下:
while (result.next()){
changShangXinXiTable.setValueAt((Object)result.getString("changshang_Num"), rowCount, 0);
changShangXinXiTable.setValueAt((Object)result.getString("changshang_Name"), rowCount, 1);
changShangXinXiTable.setValueAt((Object)result.getString("yingfukuan_Sum"), rowCount, 2);
changShangXinXiTable.setValueAt((Object)result.getString("yufukuan_Sum"), rowCount, 3);
changShangXinXiTable.setValueAt((Object)result.getString("shijiqiankuan_Sum"), rowCount, 4);
changShangXinXiTable.setValueAt((Object)result.getString("lianxi_Person"), rowCount, 5);
changShangXinXiTable.setValueAt((Object)result.getString("phone_Num"), rowCount, 6);
changShangXinXiTable.setValueAt((Object)result.getString("zip_Code"), rowCount, 7);
changShangXinXiTable.setValueAt((Object)result.getString("tongxun_Address"), rowCount, 8);
changShangXinXiTable.setValueAt((Object)result.getString("rudang_Date"), rowCount, 9);
rowCount++;
}
这里我必须在初始化时让表有足够的空白行,否则会报错,这样的话应该如何动态地增加行数呢?
而运用数组又如何做呢?是一个二维的数组。谢谢了
lixiang823517 2004-07-20
  • 打赏
  • 举报
回复
while (result.next()){
//这里就加入取数据库中数据和设置table值的代码
rowData[0]=result.get....();
rowData[1]=result.get....();
...........................
rowData[n]=result.get....();
changShangXinXiTable.addRow(Object[] rowData);
}

在这取出值,然后把值放到一个数组里面,再调用addRow(Object[] rowData)
这样就行了吧~
查出一条就差一个Object[] rowData

思路基本上是这样的吧

还有一个就是addRow(Vector rowData)

把你查出的所有值放到Vector~这样可以一次性的放到你的table里面,而不用查一条放一条

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧