日期:2014-05-20  浏览次数:20855 次

Access中能否使用PreparedStatement?
我用java连接access,成功连接后,我使用

PreparedStatement   pmst   =   con.prepareStatement( "Select   *   from   userinfo   where   id=? ");
pmst.setLong(1,   1);
ResultSet   rs   =   pmst.executeQuery();

有异常产生:
java.sql.SQLException:   [Microsoft][ODBC   Microsoft   Access   Driver]可选的功能未实现
at   sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown   Source)
at   sun.jdbc.odbc.JdbcOdbc.standardError(Unknown   Source)
at   sun.jdbc.odbc.JdbcOdbc.SQLBindInParameterBigint(Unknown   Source)
at   sun.jdbc.odbc.JdbcOdbcPreparedStatement.setLong(Unknown   Source)
at   AccessTest.main(AccessTest.java:29)

id字段是自动增长型的,如果改成statement语句来读就没有问题,但为什么改为pmst就出错呢?语句上应该没有错吧?

同样的代码我在SQL   SERVER   2000里面是能正常运行了.

------解决方案--------------------
pmst.setLong(1, 1);//这一句错了
应该改为pmst.setInt(1,1);