请问一下如何用PreparedStatement 进行选择条件查询? 一般在页面做模糊查询的时候都会传回两个变量 type 和 keyword在用Statement的时候可以把SQL写成 sql="select * from abc where "+type +" like '%"+keyword+"'%" 然后执行在用PreparedStatement的时候应该怎么操作呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PreparedStatement ps=con.prepareStatement("select * from abc where ? like '%?'%"); ps.setString(1,type ); ps.setString(2, keyword ); Java codePreparedStatement ps=con.prepareStatement("select * from abc where ? like '%?'%"); ps.setString(1,type ); ps.setString(2, keyword );试试 顶,这样可以防止sql注入攻击。 select * from abc where ? like '%?'%第一个问号能用么?问号只能插入值,不能插入sql语句吧.......所以第一个问号还是只能用拼接的方式。 PreparedStatement ps=con.prepareStatement("select * from abc where '"+type+"' like ?"); ps.setString(1, "%"+keyword+"%" ); SWT Canvas中如何画箭头? java自定义的线程类对象和Thread类对象是什么关系? Dom2如何在插入一个Element后换行? 救命哦!好痛苦呢 关于setEchoChar()的一个疑问 求助,用java怎么连接IBM上的as400上的db2? 关于在java程序中编译和运行另一个java程序的问题? 可以在自定义的类中,预先使用该类作为成员函数的类型吗? 字符串操作? 救我:word文件被损坏打不开,请问大虾门有什么办法恢复? static定义 怎样从class文件中取得方法名并存入文件中
ps.setString(1,type );
ps.setString(2, keyword );
Java codePreparedStatement ps=con.prepareStatement("select * from abc where ? like '%?'%");
ps.setString(1,type );
ps.setString(2, keyword );
试试
所以第一个问号还是只能用拼接的方式。
PreparedStatement ps=con.prepareStatement("select * from abc where '"+type+"' like ?");
ps.setString(1, "%"+keyword+"%" );