繁体   English   中英

用MySQL准备的语句?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM