从数据库创建JTable [英] Creating JTable from database
问题描述
我正在尝试在清单系统中生成一个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
- Bill_Id(主键INT):-存储帐单编号
- 开票日期(日期):存储开票日期
- Customer_Name(VARCHAR(50)):客户名称
- 总金额(NUMBER(6)):总帐单金额
- Cash_Disc(Number(2)):折扣
- 总计(数字(6)):总计(总Discnt)
-
UID(VARCHAR(10))存储生成帐单的人.(员工ID)
- Bill_Id (Primary Key INT ):-Stores Bill Number
- Bill_Date (Date): Stores Date Of Bill
- Customer_Name ( VARCHAR(50)): Customer Name
- Total_amt (NUMBER(6)) :Total Bill Amount
- Cash_Disc (Number(2)):Discount
- Grand_Total(Number(6)):Grand Total (Total-Discnt)
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屋!