【问题标题】:Can't populate jtable with mysql "like" statement无法使用 mysql“like”语句填充 jtable
【发布时间】:2014-08-17 10:20:36
【问题描述】:

我正在构建一个应用程序,您可以在其中将交易保存到数据库。我想在我的数据库中搜索交易并用相关结果填充我的 jtable。我想在 keyrelease 事件上查询我的数据库。我知道这不是一种有效的方法,但我很好奇为什么我不能让它工作。

以下是尝试使用 ID 和国家/地区名称查询数据库表的示例代码。以“D”开头的国家名称只有 3 个。不知何故,我可以打印出国家名称,但无法让它们填充 jtable。

错误-

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException" I can't get ResultSet rs1 into a Object[][] . It works fine if I do System.out.println(rs1.getString("Name")

下面是代码-

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
    String columnName[] = new String[] { "Name" };
    Object oss[][] = new Object[3][];
    ResultSet rs1 = null;
    int li = 0;
    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        java.sql.Connection con = DriverManager.getConnection(Url, User, Password);
        Statement st = con.createStatement();
        String query = "SELECT * from unit.cntry WHERE Name LIKE '" + abc.getText() + "%';";
        rs1 = st.executeQuery(query);
    } catch (Exception e) {}
    try {
        while (rs1.next()) {
            oss[li][0] = rs1.getString("Name");
            li++;
        }
        myTable.setModel(new DefaultTableModel(oss, columnName));
    } catch (SQLException ex) {
        System.out.println(ex.toString());
    } finally {
        try {
            if (rs1 != null) rs1.close();
        } catch (SQLException e) {}
    }
}

【问题讨论】:

  • 有什么错误吗?也不行catch(Exception e){},需要打印异常吗?
  • “线程“AWT-EventQueue-0”中的异常 java.lang.NullPointerException”我无法将 ResultSet rs1 放入 Object[][] 中。如果我做 System.out.println(rs1.getString("Name") 它工作正常
  • Object oss[][]=new Object[3][]; 替换为Object oss[][]=new Object[3][1];。现在你没有元素oss[li][0]
  • 它工作得很好。感谢您的帮助。

标签: java mysql jtable sql-like resultset


【解决方案1】:
        oss[li] = new Object[1];
        oss[li][0] = rs1.getString("Name");

其他数据结构可能更有吸引力。

【讨论】:

  • 我使用的是二维数组,因为 DefaultTableModel 不采用一维数组作为参数。
猜你喜欢
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多