最近弄的一个jsp项目,使用了c3p0来连接到oracle上,其中oracle通过透明网关直连sqlserver,sql的处理是使用最原始的jdbc然后拼串,在处理查询时遇到了一些问题,如下:
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = '?' and userpass\" = '?'";这样经过PreparedStatement处理后报无效列索引错误。
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = ? and userpass\" = ?";这样没有报错,但是查不到结果。
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = 'zhangzhihua' and userpass\" = '1'";这样可以出来结果,但是登录验证不可以这样写啊
有哪位大哥遇见过这样的问题吗?给讲讲吧。
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = '?' and userpass\" = '?'";这样经过PreparedStatement处理后报无效列索引错误。
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = ? and userpass\" = ?";这样没有报错,但是查不到结果。
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = 'zhangzhihua' and userpass\" = '1'";这样可以出来结果,但是登录验证不可以这样写啊
有哪位大哥遇见过这样的问题吗?给讲讲吧。
解决方案 »
- 做一个比价网站
- 字符串
- 问一个关于字符编码的问题!
- 搜索引擎
- 为什么在servlet中重写了init(ServletConfig config)后在doPost()中之间调用this.getServletContext()会出错
- 各位大哥求一Javascript代码
- 数据库中date型数据运算和java.util.date与java.sql.date类型转化问题 在线等!!!!
- 新手问题!JSP页的放置问题!!!!!!!!!!
- 寻求各种验证代码
- oracle sql语句 坐等大神赐教
- 求tomcat设置80端口后的一些常见错误解决方案
- jsp 分页问题 点击下一页的时候 参数传进去了 但是点击的时候无法分页
sql可以这么拼写:
String username = ...;
String userpass = ...;
sql = "select \"empname\", \"empid\", \"empno\", \"username\", \"userpass\", \"empstatus\", \"empcate\" from t_fly_flyer@okfoc where \"username\" = '" + username + "' and userpass\" = '" + userpass + "'";
谢谢~~,这样弄然后把sql执行时传的对象设为空就拿到了结果