Java 准备好的语句不使用和运算符
我试图用java从MS Access数据库中提取一些值。我在以下问题上遇到困难-Java 准备好的语句不使用和运算符,java,ms-access,jdbc,Java,Ms Access,Jdbc,我试图用java从MS Access数据库中提取一些值。我在以下问题上遇到困难- PreparedStatement p = c.prepareStatement("select GroupMembers from group_data where GroupName = ? and GroupOwnerID = ?"); p.setString(1,gsel); p.setInt(2,empid); 它给了我一个错误-期望的参数太少3 然而,当我使用— PreparedStatement p
PreparedStatement p = c.prepareStatement("select GroupMembers from group_data where GroupName = ? and GroupOwnerID = ?");
p.setString(1,gsel);
p.setInt(2,empid);
它给了我一个错误-期望的参数太少3
然而,当我使用—
PreparedStatement p = c.prepareStatement("select GroupMembers from group_data where GroupName = ?");
p.setString(1,gsel);
它很好用
我的表架构是:
GroupName GroupMembers GroupOwnerID
text text number
第一个查询有什么问题
这是堆栈跟踪
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few paramet
ers. Expected 3.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3156)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedState
ment.java:215)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPrepared
Statement.java:90)
at ntpc.Sms$1$4$3.actionPerformed(Sms.java:743)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:20
18)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
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:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
您可以查看本官方指南来查询access数据库如果使用
p.setString(1,1),是否有意义;p、 setInt(2,1)代码>?我想知道empid
或gsel
是否为空不,它们不为空。。。我想得到基于两个约束的结果集…你能不能添加整个Stacktrace和更多的代码(执行语句并获取返回参数)?我添加了stack Trace问题是我无法得到基于两个条件的值我刚刚尝试过,并且使用和的查询。。。正在使用删除选项,但未选择