我不明白为什么executeQuery方法会抛出一个异常,我试着在mysql上运行语句,它工作正常。
以下是代码:
queryInserimento = "INSERT INTO operatore (Cognome, Email, Nome, Sede, Telefono, Username,Password) "
+ "VALUES ('" + cognome + "','" + email + "','" + nome + "','" + sede + "','" + telefono + "','" + username + "','"+cryptedPassword+"');";
System.out.println(queryInserimento);
try {
Connection conn=MySQLDaoFactory.initConnection();
PreparedStatement statement=conn.prepareStatement(queryInserimento);
try {
statement.executeUpdate() //Here is the problem
}
catch (SQLException e) {
throw new ExecuteQueryException(); //throws this...
}这是痕迹:
sun.reflect.NativeMethodAccessorImpl.invoke0(Native方法的java.lang.reflect.InvocationTargetException )在sun.reflect.NativeMethodAccessorImpl.invoke(Unknown的源)在sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown的源)在java.lang.reflect.Method.invoke(未知的源)在business.BusinessDelegate.handleRequest(BusinessDelegate.java:35)的presentation.command.InserisciOperatore.Execute(InserisciOperatore.java:25) at presentation.ApplicationController.handleRequest(ApplicationController.java:183)的在presentation.FrontController.handleRequest(FrontController.java:35) at presentation.ui.controller.NuovoOpController.conferma(NuovoOpController.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native () at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)在java.lang.reflect.Method.invoke(未知来源)在sun.reflect.misc.Trampoline.invoke(未知来源)在太阳。reflect.GeneratedMethodAccessor1.invoke(Unknown源)在sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown源)在java.lang.reflect.Method.invoke(未知源)在sun.reflect.misc.MethodUtil.invoke(未知源)在javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown源(在javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown源)在com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown源)com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown源( com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown源)) com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源( com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源)( com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown源)(com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源)( com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown源)在com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源)在com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown源)在com.sun.javafx.event.EventUtil.fireEventImpl(Unknown源)在com.sun.javafx.event.EventUtil.fireEvent(Unknown源)在javafx.event.Event.fireEvent(未知源)在javafx.scene.Node.fireEvent(未知源)在javafx.scene.control.Button.fire(未知来源)在com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown源)在com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown来源)在com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown源)在com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown源)在com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown来源)在com.sun.javafx。( event.EventHandlerManager.dispatchBubblingEvent(Unknown来源)在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown来源)在com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown来源)在com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源头)在com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown源头)在com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源头)在com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源)在com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown源)在com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown源)在com.sun.javafx.event.EventUtil.fireEventImpl(Unknown源)在com.sun.javafx.event.EventUtil.fireEvent(Unknown源)在javafx.event.Event.fireEvent(未知源)在javafx.scene.Scene$MouseHandler.process(Unknown源)(未知来源)在javafx.scene.Scene.impl_processMouseEvent(Unknown来源)在javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown来源)在com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown来源)在com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown来源)在java.security.AccessController.doPrivileged(Native方法)在com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(Unknown来源)在com。sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown源)在com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown源)在com.sun.glass.ui.View.handleMouseEvent(Unknown源)在com.sun.glass.ui.View.notifyMouse(未知源)在com.sun.glass.ui.win.WinApplication._runLoop(Native方法)在com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown源)由: dao.mySQL.MySQLOperatoreDAO.inserisciOperatore(MySQLOperatoreDAO.java:54) at business.entity.OperatoreBusiness.inserisciOperatore(OperatoreBusiness.java:48) at business.GestisciOperatore.inserisciOperatore(GestisciOperatore.java:58) . 67引起的
发布于 2016-02-26 19:43:41
如果要检查statement.executeUpdate()是否为1,则需要将其放入if语句中。
try {
if (statement.executeUpdate() == 1) {
// do something
}
else {
// do something else
}
}
catch (SQLException e) {
throw new ExecuteQueryException(); //throws this...
}发布于 2016-02-27 11:47:26
我解决了问题,是错误的类型错误。
https://stackoverflow.com/questions/35660294
复制相似问题