Java 从数据库创建JTable
我正试图在我的库存系统中生成一个JTable,我想在用户单击查看账单按钮时显示数据库表到JTable的记录 数据库结构 比尔·马斯特Java 从数据库创建JTable,java,sql,swing,jtable,odbc,Java,Sql,Swing,Jtable,Odbc,我正试图在我的库存系统中生成一个JTable,我想在用户单击查看账单按钮时显示数据库表到JTable的记录 数据库结构 比尔·马斯特 票据Id(主键INT):-存储票据编号 账单日期(日期):存储账单日期 客户名称(VARCHAR(50)):客户名称 总金额(数字(6)):票据总金额 现金盘(编号(2)):折扣 总计(数量(6)):总计(总数) UID(VARCHAR(10))存储生成账单的人。(员工ID) 账单详情 工程量清单详细ID(INT主键)详细工程量清单1 票据Id(票据母版的外键)
选择*from Bill\u Master internal join Bill\u Details on Bill\u Master.Bill\u Id=Bill\u Details.Bill\u Id.
数据库连接类型:ODBC
请帮助生成表格。您可以从ResultSet获取数据,并使用vector将表格的每一行添加到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);
}
试试看{
ResultSetMetaData rm=rs.getMetaData();
int j=rm.getColumnCount();
JTable table=新的JTable();
int rowCount=table.getRowCount();
DefaultTableModel=(DefaultTableModel)table.getModel();
向量v=零;
如果(行计数==0){
while(rs.next()){
v=新向量();
对于(int i=1;i您可以从ResultSet获取数据,并使用vector将表的每一行添加到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);
}
试试看{
ResultSetMetaData rm=rs.getMetaData();
int j=rm.getColumnCount();
JTable table=新的JTable();
int rowCount=table.getRowCount();
DefaultTableModel=(DefaultTableModel)table.getModel();
向量v=零;
如果(行计数==0){
while(rs.next()){
v=新向量();
对于(int i=1;i您可以从ResultSet获取数据,并使用vector将表的每一行添加到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);
}
试试看{
ResultSetMetaData rm=rs.getMetaData();
int j=rm.getColumnCount();
JTable table=新的JTable();
int rowCount=table.getRowCount();
DefaultTableModel=(DefaultTableModel)table.getModel();
向量v=零;
如果(行计数==0){
while(rs.next()){
v=新向量();
对于(int i=1;i您可以从ResultSet获取数据,并使用vector将表的每一行添加到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);
}
试试看{
ResultSetMetaData rm=rs.getMetaData();
int j=rm.getColumnCount();
JTable table=新的JTable();
int rowCount=table.getRowCount();
DefaultTableModel=(DefaultTableModel)table.getModel();
向量v=零;
如果(行计数==0){
while(rs.next()){
v=新向量();
对于(int i=1;i
遵循一些关于如何使用jTable的教程
遵循一些关于如何使用jTable的教程
遵循一些关于如何使用jTable的教程
遵循一些关于如何使用jTable的教程,首先看一看。我建议您创建一个POJO,表示您将从数据库中收集的数据,这将使您在长期运行时更易于管理。我建议您创建一个POJO,表示您将从数据中收集的数据在基础上,通过查看,可以更轻松地在长运行开始时进行管理。我建议您创建一个POJO,它表示您将从数据库收集的数据,通过查看,可以更轻松地在长运行开始时进行管理。我建议您创建一个POJO,它表示您将从数据库收集的数据数据库,这将使长期运行时更容易管理。我没有为此创建任何表。我希望在单击按钮时创建和显示表。上面的代码可以做到这一点吗?我是java初学者。如果你能解释一下的话。谢谢。是否有任何方法可以使用另一个框架弹出整个表?很简单。你必须重新创建创建一个新的JFrame并将此表作为参数传递到构造函数中,然后将此表添加到frame并设置此框架。@Aswin,不需要switch语句。只需从ResultSet中获取对象并将其添加到向量中即可。@chintan Hi。我实现了您的代码,并尝试使用JOptionPane显示它。'JPanel panel=new JPanel(new GridLayout();JScrollPane scrollPane=new JScrollPane();scrollPane.setViewportView(表格);panel.add(scrollPane);JOptionPane.showConfirmDialog(null,面板,“账单明细”,JOptionPane.OK_取消_选项)但它显示的是一个空白页面。你能帮我解决这个问题吗?我没有为此创建任何表格。我想在单击按钮时创建并显示表格。上面的代码可以做到吗?我是java初学者。如果你能解释一下的话。谢谢。还有什么方法可以使用另一个框架弹出整个表格吗?很简单。你可以ave创建一个新的JFrame并将此表作为参数传递到构造函数中,然后将此表添加到frame并设置此框架。@Aswin,不需要switch语句。只需从ResultSet中获取对象并将其添加到向量。@chintan Hi。我实现了您的代码,并尝试使用JOptionPane显示它。'JPanel panel=new JPanel(新建GridLayout());JScrollPane scrollPane=新建JScrollPane();scrollPane.setViewportView(表);panel.add(scrollPan