2016-12-01 77 views
0

我正在尝试检查登录,但不断收到错误。将mysql连接到javafx应用程序

首先检查功能在不同的类:

public class JavaDBConnection{ 

public boolean auth(String user, String pass) throws SQLException, ClassNotFoundException{ 
     boolean login; 
     Connection conn =null; 
     String dbuser = "root"; 
     String dbpassw = "0557724289"; 
     String databasename = "java_cinemaTickets"; 
     String url = "jdbc:[email protected]:3306/java_cinemaTickets"; 
     Class.forName("com.mysql.jdbc.Driver"); 
     conn = DriverManager.getConnection(url,dbuser,dbpassw); 
     Statement st = conn.createStatement(); 

     PreparedStatement ps = conn.prepareStatement("SELECT `customer_name`, `customer_password` FROM `customer` WHERE `customer_name` = ? AND `customer_password` = ?"); 

     ps.setString(1, user); 
     ps.setString(2, pass); 

     ResultSet result = ps.executeQuery(); 
     if(result.next()){ 
      login = true; 
    } 
     else{login = false;} 

     return login; 

} 


    } 

然后在其他类:

public class Java_CinemaTicket extends Application { 

JavaDBConnection db = new JavaDBConnection(); 


public void start(Stage primaryStage) throws FileNotFoundException { 


    // Login Stage Start 

    VBox login_pane = new VBox(15); 
    login_pane.setPadding(new Insets(10,10,10,10)); 
    GridPane login_gridPane = new GridPane(); 
    login_gridPane.setHgap(5); 
    login_gridPane.setVgap(5); 


    TextField user_name = new TextField(); 
    PasswordField user_password = new PasswordField(); 

后来类:

login_button.setOnAction(e->{ 
    String userNamestring = user_name.getText(); 
    String userstring = user_password.getText(); 
    if(customer_radioButton.isSelected()==true){ 
     try { 
      if(db.auth(userNamestring, userstring) == true){ 
       primaryStage.setTitle("Customer GUI"); 
       primaryStage.setScene(customer); 
       primaryStage.show(); 
      }} catch (SQLException ex) { 
      Logger.getLogger(Java_CinemaTicket.class.getName()).log(Level.SEVERE, null, ex); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(Java_CinemaTicket.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
    } 

和输出错误:

Dec 02, 2016 1:47:56 AM java_cinematicket.Java_CinemaTicket lambda$start$3 
SEVERE: null 
java.sql.SQLException: No suitable driver found for  jdbc:[email protected]:3306/java_cinemaTickets 
at java.sql.DriverManager.getConnection(DriverManager.java:689) 
at java.sql.DriverManager.getConnection(DriverManager.java:247) 
at  java_cinematicket.JavaMongoDBConnection.auth(JavaMongoDBConnection.java:27) 
at  java_cinematicket.Java_CinemaTicket.lambda$start$3(Java_CinemaTicket.java:453) 
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) 
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) 
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) 
at javafx.event.Event.fireEvent(Event.java:198) 
at javafx.scene.Node.fireEvent(Node.java:8413) 
at javafx.scene.control.Button.fire(Button.java:185) 
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182) 
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96) 
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89) 
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) 
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) 
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) 
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) 
at javafx.event.Event.fireEvent(Event.java:198) 
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) 
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) 
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) 
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:380) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:294) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:416) 
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:415) 
at com.sun.glass.ui.View.handleMouseEvent(View.java:555) 
at com.sun.glass.ui.View.notifyMouse(View.java:937) 

注意在数据库中存在客户表:

enter image description here 这是我的问题。任何建议如何解决它。

+0

如果其中一个答案解决了您的问题,请将其作为正确答案。 – Sedrick

回答

1

错误是说没有合适的驱动程序。 试着改变你的JDBC URL来

String url = "jdbc:mysql://127.0.0.1:3306/java_cinemaTickets"; 
0

连接字符串应该是:

"jdbc:mysql://127.0.0.1:3306/java_cinemaTickets"