各位老大,在mysql中下面的代码(?在= 左边的情况)可以运行,而在sybase中报错,有没有哪位兄弟遇到过啊。Java code Class.forName(driver); Connection connection = DriverManager.getConnection(url,username,password); PreparedStatement statement = connection.prepareStatement("select * from managedaccount where ?=1"); statement.setString(1, "1"); statement.executeQuery();错误如下:Java code Exception in thread "main" com.sybase.jdbc3.jdbc.SybSQLException: SQL Anywhere Error -143: Column '@p0' not found at com.sybase.jdbc3.tds.Tds.processEed(Tds.java:3069) at com.sybase.jdbc3.tds.Tds.nextResult(Tds.java:2373) at com.sybase.jdbc3.jdbc.ResultGetter.nextResult(ResultGetter.java:69) at com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:220) at com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:203) at com.sybase.jdbc3.jdbc.SybStatement.queryLoop(SybStatement.java:1705) at com.sybase.jdbc3.jdbc.SybStatement.executeQuery(SybStatement.java:1690) at com.sybase.jdbc3.jdbc.SybPreparedStatement.executeQuery(SybPreparedStatement.java:97) at Test.main(Test.java:29)
解决方案 »
- EJB 3.0:EJB能够抛出异常给调用方吗
- tomcat6配置虚拟目录出现问题
- struts spring hibernate 整合 ,无法找到 action : 页面提示: Servlet action is not available。 急!
- struts2 spring2整合错误,谁能教我啊
- tomcat部署.war包的不成功!(仅有20分)
- hibernate分组查询返回Map<String,List<Object>>,实在是难啊
- [很菜的问题!] hibernate
- 关于j2ee项目开发模式的问题
- 各为老大,救命啊。.....
- 请教tomcat4.1下配置servlet!
- struts2中,哪个类的对象说取struts.xml文件啊
- 关于document使用的问题
没反,我们的框架里就是这样写的 ,现在移值到 sybase iq, 报错
而且这个
("select * from managedaccount where ?=1"); statement.setString(1, "1");
也不对啊
应该是
("select * from managedaccount where ?=1"); statement.setString(0, "1")嘛建议你的构建("select * from managedaccount where ?=1");这个sql的时候,把参数列作为字符串用方法做替换。也就是说不要把数据列作为俄参数传递。
怎么构建我不关心,这都是公司的框架里这么干的,我只关心移植到sybase iq,在mysql里
("select * from managedaccount where ?=1");
statement.setString(1, "id"); 是对的你可能是hibernate用习惯了,hibernate里是0开始,PreparedStatement 1开始的