|
主题: 解释2个不明白的地方
|
shilinow
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#12003/2/10 13:36:41
sql="select * from news where 1=1" if not (myKeyword="" or isempty(myKeyword) ) then sql=sql&" and title like '%"&myKeyword&"%'"
where 1=1是什么意思呀,还有那个'%"&myKeyword&"%'"为何是这样表示的?
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#22003/2/10 13:50:58
最好能写全面一点,否则只能凭感觉了,前面一个1是字段,后面的1可能是个自定义的变量, '%"&myKeyword&"%'"表示模糊查询,查询字段中包含有该字符(串)的记录。
编辑历史:[这消息被arhui编辑过(编辑时间2003-02-10 13:52:05)]
难人一个……
|
shilinow
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#32003/2/10 18:38:08
这是整个部分的代码: myKeyword=Request("myKeyword") page=Request("page") if (page="" or isempty(page)) then page=1 thisUrl="newsList.asp?myKeyword="&myKeyword session("adminOldUrl")=thisUrl&"&page="&page set rs=server.createobject("adodb.recordset") sql="select * from news where 1=1" if not (myKeyword="" or isempty(myKeyword) ) then sql=sql&" and (title like '%"&myKeyword&"%' or content like '%"&myKeyword&"%')" end if sql=sql&" order by id" 'response.write sql 'response.End rs.open sql,conn,1,1
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#42003/2/11 9:09:01
前面的一个1应该是数据库的字段名吧,后面的1可能是设置的值,以方便查询1字段中记录为1的记录,然后再同时对title or content查询 like mykeyword的记录.
难人一个……
|
大雪糕
职务:普通成员
等级:2
金币:10.0
发贴:579
|
#52003/2/11 11:57:50
不对,arhui说得不对,where 1=1纯粹表示1=1,对数据库查询不产生任何影响,这是为下面的and title like '%"&myKeyword&"%'而服务的,保证了当where子句里的条件都不满足时,不会产生语法错误
|
高猪
职务:普通成员
等级:1
金币:0.0
发贴:53
|
#62003/2/18 15:17:12
同意星之海洋的意见,1=1对查询结果没什么影响,可以去掉。后面的那个玩艺只是格式,就那么写好了,不要问为什么
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#72003/2/18 15:52:09
1=1就如同一个空条件,一般常用在不确定查询字段数目有多少个时,用来确保语句的合法性
|