多条件查询数据问题,谢谢

ppsmj 2005-01-05 09:33:10
比如:

一个表有 文章题目,文章内容,作者,摘自,,,很多项吧

然后一个搜索程序要求根据搜索人输入的内容来搜索出相关文章

问题是这样的:

比如,如果在作者这项我输入为空,则关于作者这项的所有条件都符合,而不是表中作者这项为空的内容

哎呀,好费劲啊

不知道大家懂得我的意思不?我是文科生啊.

谢谢大家
...全文
120 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingxiaoping 2005-01-05
  • 打赏
  • 举报
回复
一般都用这种方法呀。
ppsmj 2005-01-05
  • 打赏
  • 举报
回复
楼楼上的方法还算简单.

等我4下啊,可以,我来揭贴
lxysjl 2005-01-05
  • 打赏
  • 举报
回复
是的,好像没有其它的方法
lienzhu 2005-01-05
  • 打赏
  • 举报
回复
简单也得那样,以为每个条件必须判断,简单一点就是写成一行

sql="selece * from youtable where 1=1"
if (username<>"") then sql=sql & " and username='" &username &"'"
if (title<>"") then sql=sql &" and title like '%" & title &"%'"
哈哈,原理还是没变
ppsmj 2005-01-05
  • 打赏
  • 举报
回复
chenshixing197809(鹤舞白沙) 弟弟,没那么小气嘛

给个例子..
ppsmj 2005-01-05
  • 打赏
  • 举报
回复
那我举个例子吧:

可以输入的搜索条件有

标题,内容,作者,摘自,发布人,发布时间,发布部门

我不是要的对每个项目进行搜索而是:

<form name="Top" action="search.asp" method="post" autocomplete="off">

关键字:<input type=text name="word" size=22 value="">

<SELECT style="FONT-SIZE: 9pt;width=70; BACKGROUND: #e6e6e6" name="sort1">
<OPTION value="">标题</OPTION>
<OPTION value="X">内容</OPTION>
</SELECT>

<SELECT style="FONT-SIZE: 9pt;width=70; BACKGROUND: #e6e6e6" name="sort2">
<OPTION value="">模糊</OPTION>
<OPTION value="X">精确</OPTION>
</SELECT>

摘自:<input type=text name="cull" value="">

作者:<input type=text name="author" value="">

发布人:<input type=text name="FBR" value="">

发布部门:<input type=text name="DEP" value="">

<input type=image src="images/search.gif" width=48 height=19 align=absmiddle>

</form>

其中每个项都可以为空,而进行综合查询

如果用lienzhu(李强)的方法,是不麻烦了点啊?
  • 打赏
  • 举报
回复
多给分,偶给你写一个
  • 打赏
  • 举报
回复
写个方法根据用户的输入动态地构建一个SQL脚本,最后再执行这个脚本,写个存储过程把
masm_silly 2005-01-05
  • 打赏
  • 举报
回复
“我的意思是如果搜索条件项有很多,而且都是可以为空,那限制条件就太多了.

有没有只用一条搜索条件.”


楼主什么意思?
lienzhu(李强) 给的是比较普遍的方法,楼主可以参考一下。
lienzhu 2005-01-05
  • 打赏
  • 举报
回复
我的就是最后组合成一条sql搜索语句
ppsmj 2005-01-05
  • 打赏
  • 举报
回复
我的意思是如果搜索条件项有很多,而且都是可以为空,那限制条件就太多了.

有没有只用一条搜索条件.
lienzhu 2005-01-05
  • 打赏
  • 举报
回复
参考例子
sql="selece * from youtable where 1=1"

if (username<>"") then
sql=sql & " and username='" &username &"'"
end if

if (title<>"") then
sql=sql &" and title like '%" & title &"%'"
end if

以下同上
谢紫枫 2005-01-05
  • 打赏
  • 举报
回复
select * from table1 where 作者='XX' and 题目='XXXX’ ……
为空的不写条件
不为空的加上就可以了

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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