java - Incorrect SQL syntax occurs -
i am, part, importing values table on mysql. following code gets sql syntax error:
grossprofit = double.parsedouble(salestext.gettext())-double.parsedouble(cogstext.gettext()); totalexpenses = double.parsedouble(exsalestext.gettext())+double.parsedouble(gaextext.gettext())+double.parsedouble(otherextext.gettext()); profit = grossprofit-totalexpenses; sql = "update budgetreport" + " set sales=?"+ ", cogs=?"+ ", gross_profit=?"+ ", sales_ex=?"+ ", g&a_ex=?"+ ", other_ex=?"+ ", total_ex=?"+ ", profit=?"+ " quarter=?"; try { preparedstatement statement = conn.preparestatement(sql); statement.setstring(1, salestext.gettext()); statement.setstring(2, cogstext.gettext()); statement.setdouble(3, grossprofit); statement.setstring(4, exsalestext.gettext()); statement.setstring(5, gaextext.gettext()); statement.setstring(6, otherextext.gettext()); statement.setdouble(7, totalexpenses); statement.setdouble(8, profit); statement.setint(9, qtracker); statement.executeupdate(); } catch (exception e1) { e1.printstacktrace(); } it worked before, when had 2 input variables in sql code. how make work?
edit: error(just sql syntax error believe)
com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: have error in sql syntax; check manual corresponds mysql server version right syntax use near '&a_ex='1', other_ex='1', total_ex=3.0, profit=3.0, quarter=2' @ line 1 @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(unknown source) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(unknown source) @ java.lang.reflect.constructor.newinstance(unknown source) @ com.mysql.jdbc.util.handlenewinstance(util.java:400) @ com.mysql.jdbc.util.getinstance(util.java:383) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:980) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3847) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3783) @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2447) @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2594) @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2545) @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:1901) @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2113) @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2049) @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2034) @ myprojects.budgetreport.lambda$2(budgetreport.java:180) @ myprojects.budgetreport$$lambda$15/1910163204.actionperformed(unknown source) @ javax.swing.abstractbutton.fireactionperformed(unknown source) @ javax.swing.abstractbutton$handler.actionperformed(unknown source) @ javax.swing.defaultbuttonmodel.fireactionperformed(unknown source) @ javax.swing.defaultbuttonmodel.setpressed(unknown source) @ javax.swing.plaf.basic.basicbuttonlistener.mousereleased(unknown source) @ java.awt.component.processmouseevent(unknown source) @ javax.swing.jcomponent.processmouseevent(unknown source) @ java.awt.component.processevent(unknown source) @ java.awt.container.processevent(unknown source) @ java.awt.component.dispatcheventimpl(unknown source) @ java.awt.container.dispatcheventimpl(unknown source) @ java.awt.component.dispatchevent(unknown source) @ java.awt.lightweightdispatcher.retargetmouseevent(unknown source) @ java.awt.lightweightdispatcher.processmouseevent(unknown source) @ java.awt.lightweightdispatcher.dispatchevent(unknown source) @ java.awt.container.dispatcheventimpl(unknown source) @ java.awt.window.dispatcheventimpl(unknown source) @ java.awt.component.dispatchevent(unknown source) @ java.awt.eventqueue.dispatcheventimpl(unknown source) @ java.awt.eventqueue.access$500(unknown source) @ java.awt.eventqueue$3.run(unknown source) @ java.awt.eventqueue$3.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.awt.eventqueue$4.run(unknown source) @ java.awt.eventqueue$4.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.awt.eventqueue.dispatchevent(unknown source) @ java.awt.eventdispatchthread.pumponeeventforfilters(unknown source) @ java.awt.eventdispatchthread.pumpeventsforfilter(unknown source) @ java.awt.eventdispatchthread.pumpeventsforhierarchy(unknown source) @ java.awt.eventdispatchthread.pumpevents(unknown source) @ java.awt.eventdispatchthread.pumpevents(unknown source) @ java.awt.eventdispatchthread.run(unknown source)
g&a_ex not valid column name. typo
edit: jason w mentioning & allowed in mysql identifiers provided escaped backtick `
Comments
Post a Comment