获取数据以填充 JTable netbeans

Posted

技术标签:

【中文标题】获取数据以填充 JTable netbeans【英文标题】:get data to fill JTable netbeans 【发布时间】:2014-01-26 06:13:59 【问题描述】:

我已成功连接到 mysql 数据库并且可以在命令中打印数据,但我想将它们放入 JTable 中。我知道以下是不允许的,但我该怎么做;

jTable1.setValueAt(connect.rs.getString("name"), row, 0);
jTable1.setValueAt(connect.rs.getString("price"), row, 1);

正确的做法是;

jTable1.setValueAt(connect.rs.getString(1), row, 0);
jTable1.setValueAt(connect.rs.getString(2), row, 1);

但我不知道 1 和 2 代表什么。

真的,我只想获取所有数据并使用 MySQL 的名称和价格变量填充 JTable。

这是我的 DBConnect 课程;

import java.sql.*;


public class DBConnect 

private Connection con;
private Statement st;
public ResultSet rs;
public String name;
public String ph;
public DBConnect()
   try
       Class.forName("com.mysql.jdbc.Driver");

       con = DriverManager.getConnection("jdbc:mysql://buiud.com:3306/buiud458_androidhive","XXX","XXX");

       st = con.createStatement();

    
   catch(Exception ex)
       System.out.println("Err: "+ex);
   


public void getData()
    try
        String query = "select * from products";
        rs = st.executeQuery(query);
        System.out.println("Records from database");
        while(rs.next())
            name = rs.getString("name");
            ph = rs.getString("price");
            System.out.println("Name: "+name+"    "+"Price: "+ph);
        
    catch(Exception ex)
        System.out.println("ERR: "+ex);
    


【问题讨论】:

你看过下面的question吗? 【参考方案1】:

//全局声明

private Vector<Vector<String>> data; //used for data from database
private Vector<String> header; //used to store data header

//向JTable显示信息

data = get();

//create header for the table
header = new Vector<String>();
header.add("Column1"); 
header.add("Column2");
...
model=new DefaultTableModel(data,header);
table = new JTable(model);

这将帮助您从数据库中获取数据

get()
Vector<Vector<String>> doublevector = new Vector<Vector<String>>();

Connection conn = dbConnection();//Your Database connection code
PreparedStatement pre1 = conn.prepareStatement("select * from Table");

ResultSet rs1 = pre1.executeQuery();
while(rs1.next())

Vector<String> singlevector = new Vector<String>();
singlevector.add(rs1.getString(1)); 
singlevector.add(rs1.getString(2)); 
....
doublevector.add(singlevector);



return doublevector;

【讨论】:

以上是关于获取数据以填充 JTable netbeans的主要内容,如果未能解决你的问题,请参考以下文章

从 Postgres 数据库填充 jTable

如何使用 netbeans 轻松地将任何数据库视图绑定到 jtable?

如何在 Java Netbeans 中查看从 xampp 到 jtable 的数据

使用 netbeans GUI builder 进行 JTable 绑定

关于使按钮在 Netbeans 的 GUI 编辑器中工作的 JDBC 到 JTable 输出查询

如何将所有JTable行转换为字符串数组?