2016-12-02 1 views
0

데이터베이스 구현을 처리 할 클래스를 만들었습니다. javafx GUI를 빌드합니다. 데이터베이스에 데이터를 저장해야하는 버튼 중 하나입니다. 내가 로그인 할 때 동일한 데이터베이스를 사용하므로 데이터베이스 연결에 문제가없는 것입니다.자바에서 mysql에 데이터를 삽입 할 때

데이터베이스 구현 다음 다른 클래스에서 다음

 Connection conn =null; 
     String dbuser = "root"; 
     String dbpassw = "0557724289"; 
     String databasename = "java_cinemaTickets"; 
     String url = "jdbc:mysql://127.0.0.1:3306/java_cinemaTickets"; 
     String driver = "com.mysql.jdbc.Driver"; 
     PreparedStatement ps; 

public void addMovie_insetIntoDB(String title,String description,String cinema,String time,int threator,String movie_uniqeID,String image) throws ClassNotFoundException, SQLException{ 

    Class.forName(driver); 
     conn = DriverManager.getConnection(url,dbuser,dbpassw); 
     Statement st = conn.createStatement(); 

     ps = conn.prepareStatement("insert into movie(movie_name,description,time,threator,mviUniqeID,movie_poster,catgory,age)"+"values(?,?,?,?,?,?,?,?,?)"); 

     ps.setString(1, title); 
     ps.setString(2, description); 
     ps.setString(3, cinema); 
     ps.setString(4, time); 
     ps.setInt(5, threator); 
     ps.setString(6, movie_uniqeID); 
     ps.setString(7, image); 



     ps.executeQuery(); 

     conn.close(); 

} 

:

String movieName_String = movieNameToAdd_textField.getText(); 
    String movieDescription_String = MovieDescriptionToAdd_textArea.getText(); 
    String moviePoster_string= "rr";//moviePoster_textField.getText(); 
    String cinemaLocation_string = cinemaToAdd_comboBox.getSelectionModel().getSelectedItem().toString(); 
    String movieTime_string = timeToAdd_comboBox.getSelectionModel().getSelectedItem().toString(); 
    int movieThretor_integer = Integer.parseInt(threatorToAdd_comboBox.getSelectionModel().getSelectedItem().toString()); 
    String movieUniQID="jj"; 



    adminAddMovie_button.setOnAction(e->{ 


     try { 
      db.addMovie_insetIntoDB(movieName_String,movieDescription_String,cinemaLocation_string,movieTime_string,movieThretor_integer,movieUniQID,moviePoster_string); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(Java_CinemaTicket.class.getName()).log(Level.SEVERE, null, ex); 
     } catch (SQLException ex) { 
      Logger.getLogger(Java_CinemaTicket.class.getName()).log(Level.SEVERE, null, ex); 
     } 

    primaryStage.setTitle("Admin GUI"); 
    primaryStage.setScene(admin_Scene); 
    primaryStage.show(); 

    }); 

오류 한번받을 I 데이터베이스

Dec 02, 2016 9:00:55 PM java_cinematicket.Java_CinemaTicket lambda$start$2 
SEVERE: null 
java.sql.SQLException: Can not issue data manipulation statements with  executeQuery(). 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) 
at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:504) 
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2223) 
at java_cinematicket.JavaMongoDBConnection.addMovie_insetIntoDB(JavaMongoDBConnection.java:95) 
at java_cinematicket.Java_CinemaTicket.lambda$start$2(Java_CinemaTicket.java:479) 
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) 
+0

@Simze nope 이미 체크했습니다 – Rizkyyy

+4

'ps.executeQuery();'를 사용하여'insert' 문을 실행했기 때문에 그렇게하지 않았습니다! –

답변

1

에 데이터를 저장 버튼을 눌러 AFAIK를 사용하려면 DML 작업에 executeUpdate()을 사용해야합니다 (insert/update/delete). 아니오 executeQuery().

봐 조심스럽게, 정확히 같은 것은 여기 java.sql.SQLException이 말하는 예외 메시지 읽기 : 하는 executeQuery()와 데이터 조작 문을 발행 할 수 있습니다.

관련 문제