从数据库创建JTable [英] Creating JTable from database

查看:59
本文介绍了从数据库创建JTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to generate a JTable in my Inventory system and I wanna display records from my database table to the JTable when user click the view bill button,Image of my Billing Form.

数据库结构

Bill_Master

  1. Bill_Id(主键INT):-存储帐单编号
  2. 开票日期(日期):存储开票日期
  3. Customer_Name(VARCHAR(50)):客户名称
  4. 总金额(NUMBER(6)):总帐单金额
  5. Cash_Disc(Number(2)):折扣
  6. 总计(数字(6)):总计(总Discnt)
  7. UID(VARCHAR(10))存储生成帐单的人.(员工ID)

  1. Bill_Id (Primary Key INT ):-Stores Bill Number
  2. Bill_Date (Date): Stores Date Of Bill
  3. Customer_Name ( VARCHAR(50)): Customer Name
  4. Total_amt (NUMBER(6)) :Total Bill Amount
  5. Cash_Disc (Number(2)):Discount
  6. Grand_Total(Number(6)):Grand Total (Total-Discnt)
  7. UID(VARCHAR(10)) Stores Who Generated the bill.(EMPLOYEE ID)

Bill_Details

当用户使用查询单击查看帐单"按钮时,我想显示详细的帐单

I want to display the detailed bill when user clicks on View Bill Button by using the query

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

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

Database Connection Type:ODBC Please help to generate the table.

推荐答案

您可以从ResultSet中获取数据,并使用vector将表的每一行添加到DefaultTableModel中.

You can get data from ResultSet and Add Each row of table to the DefaultTableModel using vector.

例如以下示例:

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);
            }

此处的模型是必须在其上添加行的Your Table的DefaultTableModel. 你明白我的意思吗?或有任何疑问.

Here model is the DefaultTableModel of the Your table on which you have to add the row. do you get my point? Or any doubt.?

这篇关于从数据库创建JTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆