Statement st = conn.createStatement();似乎有问题,这是我的代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

  DefaultTableModel model=(DefaultTableModel)p1.getModel();
  try{
      Class.forName("java.sql.Driver");
      Connection conn=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/product","root","");

      Statement st = conn.createStatement();
      String query="Select*from voltron;";
      ResultSet rs=st.executeQuery(query);
      while(rs.next()) {
          String s1=rs.getString("id");
          String s2=rs.getString("product");
          String s3=rs.getString("brand");
          String s4=rs.getString("price");
          String s5=rs.getString("release");

          model.addRow(new Object[]{s1,s2,s3,s4,s5});
      }
      rs.close();;
      st.close();
      conn.close();
  }

  catch (Exception e) {
      JOptionPane.showMessageDialog(this, "There is an ERROR");
  }
}

最佳答案

问题在于,当您编写Connection时,编译器会认为您的意思是您的类,而不是java.sql.Connection ...,并且您的类没有createStatement方法。

您要做的就是完全指定类名称:

java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/product","root","");


无需强制转换,并且您报告的错误现在将消失,因为编译器将在正确的类中寻找方法。

当然,也可以重命名您的类-在核心Java框架中为自己的类提供相关类的名称并不是一个好主意。

关于java - 为什么Netbeans在MySQL数据库连接的createStatement()中显示错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27347595/

10-09 19:41