JSP 我在Postgresql中创建了一个表,其中有4列,希望从第1列和第4列的表中验证我的登录,但它给予了C索引范围之外[关闭]

5cg8jx4n  于 10个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(52)

**已关闭。**此问题为not reproducible or was caused by typos。它目前不接受回答。

此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
下面的代码在我的Servlet中不能正常工作

PreparedStatement ps=con.prepareStatement("SELECT uname,upass FROM shams WHERE uname=? and upass=? ");
ps.setString(1, name);
ps.setString(4, pass);

字符串


的数据

0pizxfdo

0pizxfdo1#

PreparedStatenent中,用?表示的SQL查询参数从1开始计数,索引之间没有间隔。如果说参数索引越界,那么这意味着你给setString()方法提供了错误的参数值。另外请注意,参数在SQL查询中是从左到右计数的。
你该换衣服了

PreparedStatement ps=con.prepareStatement("SELECT uname,upass FROM shams WHERE uname=? and upass=? "); 
ps.setString(1, name); 
ps.setString(2, pass);

字符串
然后阅读文档中关于设置SQL查询参数的方法。

相关问题