我有一个名为mpi
的表,其中包含23列。我已经为每个列引入了带有按钮的搜索字段,用户可以在其中输入查询以使用查询
query="select * from mpi where Genus ='"+genus+"'
现在我想通过使用LIKE
%%
提供关键字来获取记录,但它不起作用而且没有提供任何记录,但如果类型键入全名,它就能正常工作。这是代码
String uname=request.getParameter("uname");
String full="%"+uname+"%";
dbconn=new DatabaseConnection();
conn=dbconn.setConnection();
pstmt=conn.prepareStatement("select * from mpi where Genus LIKE ?");
pstmt.setString(1, full);
res=pstmt.executeQuery
当我使用像%keyword%这样的半关键字时,有没有人告诉我错误在哪里以及为什么我没有得到记录。
答案 0 :(得分:0)
它起作用(除了缺少的括号)和准备好的陈述的方法是完全正确的。
但是我看到过这样的代码片段,并且问题始终存在变量混乱或不关闭或简单的疏忽。最好尽可能地宣布。
try (ResultSet res = pstmt.executeQuery()) {
while (res.next()) {
..
}
} // Automatically closes res.
还可以正确处理pstmt的生命周期。