SQL拼凑问题

superjoo 2008-03-09 12:59:42
各位大侠,我有一个查询的页面,其中查询框有多个。可以输入一个或者多个条件查询。比如说:id name sex 怎么在后台判断输入的是哪个或者那些条件呢?谢谢~~
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykcandy 2008-03-10
  • 打赏
  • 举报
回复
String sql = "select * from table where";

if (!id.equals(""))
sql = sql + " id = '"+id+"' and";
if (!name.equals(""))
sql = sql + " name = '"+name+"' and";
if (!sex.equals(""))
sql = sql + " sex = '"+sex+"' and";

if (sql.endsWith("where")){
int len = sql.length();
sqls = sql.substring(0, len-5);
}else{
int len = sql.length();
sqls = sql.substring(0, len-3);
}

注意一点是sql = sql + " XXXXXXXX"这几句之前有个空格,也可以在where和and之后空格。
zdblzwj 2008-03-10
  • 打赏
  • 举报
回复
大致思路应该就是一楼和二楼的方法了
yibunengjing 2008-03-10
  • 打赏
  • 举报
回复
楼主指的是后台获得前台的参数?
那只要request.getParameter("id")
然后再如2楼兄弟那样就可以
bt_lose 2008-03-10
  • 打赏
  • 举报
回复
2楼不错,但强烈推荐使用StringBuffer来做字符串追加....
keyboardsun 2008-03-09
  • 打赏
  • 举报
回复
Sql ="select * from table where 1=1 ";
if(id!=null&&!id.equals(""))
Sql = sql + "AND ID="+id;
if(sex!=null&&!sex.equals(""))
Sql = sql + "AND sex="+sex;
if(name!=null&&!name.equals(""))
Sql = sql + "AND name="+name;
swt690763195 2008-03-09
  • 打赏
  • 举报
回复
if(xx!=null)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧