[英]Prepared statements with MySQL?
我对预备语句的语法感到有些麻烦,我认为这是语法问题。
我有以下代码
String query2="SELECT lname FROM school_student WHERE sid = ? ORDER BY sid;";
PreparedStatement ps = cn.prepareStatement(query2);
ps.setInt(1, 3);
ResultSet rs = ps.executeQuery(query2);
我遇到的问题是我收到此错误消息:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? ORDER BY sid' at line 1
但是,当我用“?”代替时 在查询3的查询中,查询工作正常,没有错误,并给出了我想要的内容。 我如何设置“?”的值似乎有问题。 在我的查询? 我使用的语法错误吗?
只需使用
ps.executeQuery();
(即,使用不带任何参数的重载executeQuery()
方法)。 在准备语句时,您已经通过了查询。
使用此查询:
字符串查询2 =“从school_student WHERE sid中选择SELECT名称=“ + attribute +” ORDER BY sid;“;
并简单地使用
ps.executeQuery();
我认为在准备查询时,这是语法问题,请尝试使用该语法。...string query2 =“ SELECT lname FROM school_student WHERE sid = + variablename + ORDER BY sid;”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.