sql语句如何实现???

zwd2878 2003-11-12 10:12:39
在一个页面中,有三个type="text"的输入区(a,b,c),
我想用如下方式实现数据查询:

当a,b,c同时为空时不进行数据查询,并且给以提示:请输入查询内容;

当a,b,c中任何一个有合法内容时,进行数据查询,执行sql语句。

请高手指点:如何实现判断?如何实现sql语句?

在线等待,谢谢了:)
...全文
55 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cityroom 2003-11-12
  • 打赏
  • 举报
回复
判断三个输入是否为空最好在客户端,以减少服务器的负担。

可以用javascript、vbscript等前台脚本语言。

<Script language="javascript">
<!--

function checkInput(myForm)
{
if(myForm.a.value==""&&myForm.b.value==""&&myForm.c.value=="")
{
alert("请输入查询内容");
myForm.a.focus();
return(false);
}

}
//-->
</script>

<form action="" method="post" name="myForm" onSubmit="return checkInput(this)">
………………

</form>


如果有合法的输入,查询的时候可以用楼上的方法!!
aku0708 2003-11-12
  • 打赏
  • 举报
回复
up
sadenxu 2003-11-12
  • 打赏
  • 举报
回复
a,b,c
sql=...
if(validate(a))sql+=...
if(validate(b))sql+=...
if(validate(c))sql+=...
if(a.equals("")&&a.equals("")&&a.equals(""))


OK!楼上的,五个星星以上是什么?

badbadjing 2003-11-12
  • 打赏
  • 举报
回复
String a=request.getParameter("a");
String b=request.getParameter("b");
String c=request.getParameter("c");
String sql="select * from abc where 1=1 ";
if(!a.equals(""))
{
sql +=" and a='"+a+"'";
}
if(!b.equals(""))
{
sql +=" and b='"+b+"'";
}
if(!c.equals(""))
{
sql +=" and c='"+c+"'";
}
TechnoFantasy 2003-11-12
  • 打赏
  • 举报
回复
一般来说是否为空的判断可以在页面中通过脚本来执行,如果不为空,则进行提交。否则探出提示框并且不进行提交。
zwd2878 2003-11-12
  • 打赏
  • 举报
回复

<Script language="javascript">
<!--

function checkInput(warehouse)
{
if((warehouse.warehouse_id.value=="") && (warehouse.bill_no.value=="") && (warehouse.item_no.value==""))
{
alert("请输入查询内容");
warehouse.warehouse_id.focus();
return(false);
}

}
//-->
</script>



<form name="warehouse" method="post" action="" onSubmit="return checkInput(warehouse)">

……

</form>

其中当if((warehouse.warehouse_id.value=="") && (warehouse.bill_no.value=="") && (warehouse.item_no.value==""))时,页面不起作用,
当为if(warehouse.warehouse_id.value=="")时,页面就可以起作用,难道javascript不能用“与”吗???

还请高手帮忙,谢谢
zwd2878 2003-11-12
  • 打赏
  • 举报
回复
String a=request.getParameter("a");
String b=request.getParameter("b");
String c=request.getParameter("c");
String sql="select * from abc where 1=1 ";
if(!a.equals(""))
{
sql +=" and a='"+a+"'";
}
if(!b.equals(""))
{
sql +=" and b='"+b+"'";
}
if(!c.equals(""))
{
sql +=" and c='"+c+"'";
}



忘了说了,在a,b,c三项中,有组合查询的情况,比如:a b ,a c ,b c ,abc,组合查询。
所以上面的方法不是很合适。

81,092

社区成员

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

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