PreparedStatement进行模糊查询时的问题
我想执行用PreparedStatement这个预制执行模糊查询。可是怎么样才实现呢? try { conn=new ConnDB().getconnection(); prestmt=conn.prepareStatement(" select * from jobs where job_desc like ?"); String name="%"+"M"+"%"; prestmt.setString(1,name); rs=prestmt.executeQuery(); while(rs.next()) { System.out.println(rs.getString(1)); } } 我试了好多办法好像都不行。不知道为什么。谁清楚。能说一下吗?
看不出有什么问题啊 import java。sql。*; public class Test{ public static void main(String[] args){ String driver = "com。microsoft。
jdbc。sqlserver。SQLServerDriver"; String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; String user = "sa"; String pwd = ""; try{ rName(driver); Connection cnn = tConnection(url, user, pwd); String sql = "select * from authors where au_lname like ?"; PreparedStatement pst = epareStatement(sql); String name="%"+"M"+"%"; tString(1, name); ResultSet rs = pst。
executeQuery(); while( xt()){ intln( tString("au_id")); } }catch(Exception e){ intStackTrace(); } } } 以上经过测试的。
String name="%"+"M"+"%"; 改为: String name="'%"+"M"+"%'"
答:其实他们说的都正确,但都不完整 大多情况下PreparedStatement使用了多种方法来防止sql注入 列出的第一种方法在应用中实现,由jdbc的实现完成 ...详情>>
答:google "java 缓冲池"详情>>
答:百度里搜张孝祥 非常好的视频教程详情>>