java - JTable 不从 MySQL 填充数据

标签 java mysql netbeans jtable swig

我正在尝试将存储在数据库中的数据填充到 JTable 中。我有一个 println 语句“添加到 db 的记录”,它打印了 18 次,因此 db 中的行数与打印语句的数量相匹配。但是,我的 JTable 中没有显示任何内容,而且我不知道错误出在哪里。

代码:

try {
        conn = SQLConnect.ConnectDb();
        String sql = "SELECT * FROM CriminalRecords WHERE FName = ? and Sname = ?";

        pst = conn.prepareStatement(sql);
        pst.setString(1, NameSearch.getText());
        pst.setString(2, SurnameSearch.getText());
        rs = pst.executeQuery();

            //display data from db into table hmm  
            ResultSetMetaData md = rs.getMetaData();
            int columnNumber = md.getColumnCount();
            Vector columns = new Vector(columnNumber);

            //  Get column names
            //store column names
            for(int i=1; i<=columnNumber; i++) 
            {
                columns.add(md.getColumnName(i));
            } 

            Vector data = new Vector();
            Vector row;

        //store row data
        while(rs.next())
        {
            row = new Vector(columnNumber);
            for(int i=1; i<=columnNumber; i++)
            {
                row.add(rs.getObject(i));
                System.out.println("Records added to Table");
            }
            data.add(row);

        }
        JTable table1 = new JTable(data, columns);
        this.add(table1);
        rs.close();
        pst.close();
        conn.close();

JTable代码

/---- table1 ----
            table1.setModel(new DefaultTableModel(
                new Object[][] {
                    {" ", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                    {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                    {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                    {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                    {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                    {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                    {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                },
                new String[] {
                    "First Name", "Middle Name", "Surname", "Date of Birth", "Address", "Home Phone", "Business Phone", "Mobile Phone", "Resident Status", "Sex", "Race", "Incident Location", "Zone", "Premise Type", "Date Recorded", "Time Recorded", "Weapons", "Crime Offences"
                }
            ));
            table1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            scrollPane1.setViewportView(table1);

最佳答案

所以这个解决方案虽然不是最好的,但它确实有效,而且暂时对我有用。

import net.proteanit.sql.DbUtils;
//
//
//
try {
        conn = SQLConnect.ConnectDb();
        String sql = "SELECT * FROM CriminalRecords WHERE FName = ? and Sname = ?";

        pst = conn.prepareStatement(sql);
        pst.setString(1, NameSearch.getText());
        pst.setString(2, SurnameSearch.getText());
        rs = pst.executeQuery();

        table1.setModel(DbUtils.resultSetToTableModel(rs));

} catch (SQLException ex) {
        Logger.getLogger(DatabaseP.class.getName()).log(Level.SEVERE, null, ex);
    }

关于java - JTable 不从 MySQL 填充数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285316/

相关文章:

java - 让 Ant <javac> 识别类路径

java - 如何发布Web应用项目?

java - 使用 Java Web Start 程序创建客户端-服务器应用程序的最佳方法是什么?

java - 针对蜂窝调制解调器项目的客户端/服务器交互故障排除的建议和帮助

java - 如何在 Java 7 和 OpenShift 应用程序之间建立 HTTPS 连接?

java - 将 ArrayList<String> 转换为 java.util.List

两列之间的Mysql datetime

python - 将文本文件内容保存到 DB : "Incorrect string value: '\xEF\xBB\xBF# W. 。 .' for column ' 第 1 行的内容”

java - Android 与 servlet 或 mysql 数据库的集成

java - Lombok 注释在带有 maven 的 netbeans 中不起作用