Java 与 MySql 数据库的连接问题

标签 java mysql swing

当我尝试将值检索到 JTable 时,它在 con=Connect.ConnectDB() 行上显示“将 connectdb 转换为连接”。但我已经声明了我的 Connect 类,没有任何错误,并且能够成功地从另一个表单插入值。这是我的代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
  try{
    con= Connect.ConnectDB();
    String sql="select * from pharmacy";
    pst = con.prepareStatement(sql);
    pst.execute();
    jTable1.setModel(DbUtils.resultSetToTableModel(rs));
    JOptionPane.showMessageDialog(this,"Succesfully stored","User",JOptionPane.INFORMATION_MESSAGE);

  } catch(SQLException ex){
    JOptionPane.showMessageDialog(this,ex);
  }
}  

这是我的Connect 类:

public class Connect {
  Connection con=null;

  public static Connection ConnectDB(){
    try{

      Class.forName("com.mysql.jdbc.Driver");
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hms_db1","root","root");
      return con;

    }catch(ClassNotFoundException | SQLException e){
      JOptionPane.showMessageDialog(null, e);
      return null;
    }      
  }
}

最佳答案

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

这是您收到 NullPointerException 的行...因为 rsnull

更改此行

pst.execute();

rs = pst.executeQuery();

您尚未将executeQuery() 的结果分配给resultSet 引用!由于您传递的是空引用,这就是您获得 NPE 的原因。希望这能回答您的问题。

关于Java 与 MySql 数据库的连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793092/

相关文章:

java - Oracle 调用 Java 过程时出现 ORA-01722

Java整数-双除法混淆

mysql - 索引此 sql 查询以获得最佳优化

java - 将导入的文本文件的行转换为数组并打印数组以在 Netbeans 和 Swing 中制作图形

java - 替换 Kotlin 原生解决方案中的流收集

java - Java中如何调用另一个方法中的方法(同一个类)

mysql - 数据库设计: how to effectively manage about 4000 databases with mysql

php - 从表中的数据库中选择复选框并使用 PHP 将其更新回来

java - 如何将 Swing 组件从对象添加到 arraylist 中的 swing 组件?

java - 如何使 JFrame 变得无形?