like取关键字 的时候取变量的名字没有取到内容。
String str1 =txf.getText();
Statement stmt = con.createStatement();
String sql="select * from contactos where id like '%str1%' ";
ResultSet rq=stmt.executeQuery(sql);
String str1 =txf.getText();
Statement stmt = con.createStatement();
String sql="select * from contactos where id like '%str1%' ";
ResultSet rq=stmt.executeQuery(sql);
有两种解决方案。
方案一:
String sql="select * from contactos where id like '%str1%' ";
修改如下
String sql = "select * from contactos where id like '%" + str1 + "%'";
方案二:使用 PreparedStatement,可以避免 SQL 注入
修改如下:
String str1 = txf.getText();
String sql = "select * from contactos where id like concat('%',?,'%')";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, str1);
ResultSet rq = stmt.executeQuery(sql);
如有帮助,请采纳。