使用PreparedStatement对象,往sql语句中的”?“设值,出现异常 想执行一个模糊查询, sql语句是:"SELECT * FROM teacher WHERE t_name LIKE %?%"; 其中想通过文本框获取值,用setString()方法将值传入sql语句的?中,但是执行,总是有异常,说sql语法有问题。 该怎么解决SQL异常 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ?用'xxx'替换后去数据库执行一下。oracle改成SELECT * FROM teacher WHERE t_name LIKE '%'||?||'%' 试试String sql = "SELECT * FROM teacher WHERE t_name LIKE ?";PreparedStatement pst = cnn.prepareStatement(sql);pst.setString(1, "%"+name+"%");//name是你的传值不然把你的报什么错,贴出来看下。 可以不用setString()方法:sql="select * from teacher where t_name like '%"+setString()方法中要设置的值+"%'"; 像你这样问题解决了,但是为什么把%写在sql语句中执行就会有错误呢? SELECT * FROM teacher WHERE t_name LIKE %?%替换成SELECT * FROM teacher WHERE t_name LIKE %'abc'%有可能不报错吗 response OutputStream输出了文件 与 response write 冲突 有什么解决办法没!求救呀! 一个过河的问题 排班系统用jsp显示 SQLServer 2000 建立的维护计划执行报错 tag? NumberEditor问题 急!求大家帮忙!!!! 问一下,这个applet中的 return true 干什么用的?? jsp在何处查找javabean? javabean生成的class放在那里? 请教数据库的一个简单问题 s:iterator迭代不出数据。。 JSP分页显示 保存checkbox里的值
oracle改成
SELECT * FROM teacher WHERE t_name LIKE '%'||?||'%'
String sql = "SELECT * FROM teacher WHERE t_name LIKE ?";
PreparedStatement pst = cnn.prepareStatement(sql);
pst.setString(1, "%"+name+"%");//name是你的传值不然把你的报什么错,贴出来看下。
sql="select * from teacher where t_name like '%"+setString()方法中要设置的值+"%'";
替换成
SELECT * FROM teacher WHERE t_name LIKE %'abc'%
有可能不报错吗