在Java中嵌入SQL语句进行模糊查询,能不能先提示用户输入一个关键词,再根据关键词来查询?那这个 70
在Java中嵌入SQL语句进行模糊查询,能不能先提示用户输入一个关键词,再根据关键词来查询?那这个SQL语句的like后面的要怎么填呀?...
在Java中嵌入SQL语句进行模糊查询,能不能先提示用户输入一个关键词,再根据关键词来查询?那这个SQL语句的like后面的要怎么填呀?
展开
3个回答
展开全部
PreparedStatement pstm = conn.PreparedStatement("select * from t where t.name like ?");
pstm.setString(1, "myName");
rs = pstm.executeQuery();
pstm.setString(1, "myName");
rs = pstm.executeQuery();
追问
没看懂,请解释一下,谢谢
追答
ublic class Shbk{
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
public static final String dburl =
"jdbc:mysql://localhost:3306/wang";
public static final String dbuser = "root";
public static final String dbpass = "wang";
public Shbk(String name,String book,String writer)throws Exception{
Connection coon=null;
PreparedStatement psmt=null;
ResultSet rs =null;
JFrame frame =new JFrame("查询");
String[] titles={"id","姓名","书名","作者"};
Object[][] userinfo=new Object[10][4];
JButton but=new JButton("确定");
String sql="SELECT*"+" FROM library WHRERE name LIKE ? OR book
LIKE ? OR writer LIKE ?";
Class.forName(DBDRIVER);
coon=DriverManager.getConnection(dburl,dbuser,dbpass);
psmt=coon.prepareStatement(sql);
psmt.setString(1,"‘%"+name+"%’");
psmt.setString(2,"‘%"+book+"%’");
psmt.setString(3,"‘%"+writer+"%’");
rs=psmt.executeQuery();
for(int i=0;rs.next();i++){
userinfo[i][0]=rs.getInt(1);
userinfo[i][1]=rs.getString(2);
userinfo[i][2]=rs.getString(3);
userinfo[i][3]=rs.getString(4);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
like '%关键字%'
追问
如果关键字是用户输进去的,不是常量,怎么办?
追答
字符串拼接,
String str=""//用户输入
sql=" select * from table where xxx like'%"+str+"%'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
... like '%用户输入的关键字%'
更多追问追答
追问
请问不用双引号隔空字符串之类吗?
那如果是输入一个数值,名字叫minprice,怎么查找比这个更贵的东西,在"Where price(表明)>"后面应该怎么补充啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询