gpt4 book ai didi

java - 在prepareStatement中出现错误

转载 作者:行者123 更新时间:2023-12-01 13:02:12 24 4
gpt4 key购买 nike

我正在尝试更新表中的条目,但我不断收到此错误::

java.sql.SQLException: Syntax error: Stopped parse at Dec(id104)

MS Access 表设计:

enter image description here

PreparedStatement ps = con.prepareStatement("UPDATE Leave_Table SET Jan=?,Feb=?,Mar=?,Apr=?,May=?,Jun=?,Jul=?,Aug=?,Sep=?,Oct=?,Nov=?,Dec=? WHERE LeaveType=?");

ps.setInt(1,Integer.parseInt(JanuaryTF.getText()));
ps.setInt(2,Integer.parseInt(FebruaryTF.getText()));
ps.setInt(3,Integer.parseInt(MarchTF.getText()));
ps.setInt(4,Integer.parseInt(AprilTF.getText()));
ps.setInt(5,Integer.parseInt(MayTF.getText()));
ps.setInt(6,Integer.parseInt(JuneTF.getText()));
ps.setInt(7,Integer.parseInt(JulyTF.getText()));
ps.setInt(8,Integer.parseInt(AugustTF.getText()));
ps.setInt(9,Integer.parseInt(SeptemberTF.getText()));
ps.setInt(10,Integer.parseInt(OctoberTF.getText()));
ps.setInt(11,Integer.parseInt(NovemberTF.getText()));
ps.setInt(12,Integer.parseInt(DecemberTF.getText()));
ps.setString(13,String.valueOf(leavetype.getSelectedItem()));

ps.execute();

根据堆栈跟踪错误似乎是在prepareStatement,但我似乎不明白。

堆栈跟踪:

java.sql.SQLException: Syntax error: Stopped parse at Dec(id104)
at com.hxtt.global.SQLState.SQLException(Unknown Source)
at com.hxtt.a.b.a(Unknown Source)
at com.hxtt.a.b.a(Unknown Source)
at com.hxtt.a.b.g(Unknown Source)
at com.hxtt.sql.bx.o(Unknown Source)
at com.hxtt.sql.bx.a(Unknown Source)
at com.hxtt.sql.d1.<init>(Unknown Source)
at com.hxtt.sql.bx.a(Unknown Source)
at com.hxtt.sql.bx.prepareStatement(Unknown Source)
at com.hxtt.sql.bx.prepareStatement(Unknown Source)
at com.hxtt.sql.bx.prepareStatement(Unknown Source)
at leave.LeaveSetting.actionPerformed(LeaveSetting.java:231)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

更新:查询在 jdbc-odbc 桥上运行良好,但在 hxtt pure java driver 4.0 for MS Access 上运行良好。

最佳答案

始终使用一些符合逻辑且有意义的列名称。不要让它太短,否则你无法区分它。

SETWHERE 和每个逗号之前添加空格。尝试将所有内容放入单个字符串中。

"UPDATE Leave_Table SET J=?, F=?, M=?, A=?, M=?, J=?, Ju=?, Au=?, Se=?, O=?, N=?, D=? WHERE LeaveType=?"
<小时/>

--编辑--

the error is: java.sql.SQLException: Syntax error: Stopped parse at Dec(id104)

没有列名D。尝试使用 Dec 而不是 D

"UPDATE Leave_Table SET J=?, F=?, M=?, A=?, M=?, J=?, Ju=?, Au=?, Se=?, O=?, N=?, Dec=? WHERE LeaveType=?"

关于java - 在prepareStatement中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com