您的位置:程序门 -> java -> j2se / 基础类



access中能否使用preparedstatement?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


access中能否使用preparedstatement?[已结贴,结贴人:wuditata]
发表于:2007-01-19 22:47:29 楼主
我用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里面是能正常运行了.
发表于:2007-01-20 11:29:331楼 得分:0
在   oracle   运行肯定也是正常的
发表于:2007-01-20 11:44:212楼 得分:0
因为access是数据库存储格式的文本文件
发表于:2007-01-20 13:25:323楼 得分:10
pmst.setlong(1,   1);//这一句错了
应该改为pmst.setint(1,1);
发表于:2007-01-20 15:45:524楼 得分:0
谢谢askuaile,果然是这里,不过感觉有点奇怪~

access里面自动编号属于长整形,应该用的是setlong()才对吧,不过居然是setint()!


快速检索

最新资讯
热门点击