从数据库创建JTable

我正在尝试在我的库存系统中生成JTable,并且当用户单击查看帐单按钮, 我的帐单表单图像时,我想将数据库表中的记录显示到JTable。

在此处输入图像描述

数据库结构

Bill_Master

  1. Bill_Id(主键INT): – 存储票号
  2. Bill_Date(日期):存储账单日期
  3. Customer_Name(VARCHAR(50)):客户名称
  4. Total_amt(NUMBER(6)):总账单金额
  5. Cash_Disc(Number(2)):折扣
  6. Grand_Total(数量(6)):总计(总计)
  7. UID(VARCHAR(10))商店谁生成账单。(员工ID)

    Bill_Details

  8. Bill_Detailid(INT PRIMARY KEY)详细的第1号法案
  9. Bill_Id(Bill_Master的外键)
  10. Item_Id(库存的外键)
  11. 数量(INT)
  12. 率(编号(5))
  13. 总(编号(5))

我希望在用户使用查询单击“查看帐单按钮”时显示详细帐单

Select * from Bill_Master Inner join Bill_Details on Bill_Master.Bill_Id=Bill_Details.Bill_Id.

数据库连接类型:ODBC请帮助生成表。

您可以使用向量从ResultSet获取数据并将表的每一行添加到DefaultTableModel。

如下例:

 try { ResultSetMetaData rm = rs.getMetaData(); int j = rm.getColumnCount(); JTable table=new JTable(); int rowCount = table.getRowCount(); DefaultTableModel model = (DefaultTableModel) table.getModel(); Vector v = null; if (rowCount == 0) { while (rs.next()) { v = new Vector(); for (int i = 1; i <= j; i++) { String type = rm.getColumnTypeName(i); // System.out.println(type); switch (type) { case "FLOAT": v.add(rs.getFloat(i)); break; case "COUNTER": v.add(rs.getInt(i)); break; case "VARCHAR": v.add(rs.getString(i)); break; case "INTEGER": v.add(rs.getInt(i)); break; case "DATETIME": v.add(rs.getString(i)); break; case "MEDIUMINT": v.add(rs.getInt(i)); break; case "LONGBLOB": v.add(rs.getTime(i)); break; default: v.add(rs.getString(i)); } } model.addRow(v); } 

这里的model是Your table的DefaultTableModel,你必须在其中添加行。 你明白了吗? 或任何疑问。?

 while(resultset.next()){ // iterate through the results, get necessary column values add them into table model Vector v = new Vector(); v.add(resultset.getString(0)); . . model.addRow(v) } table.setModel(model) 

按照一些关于如何使用jTable的教程