
ASP中SQL语句问题
<%'这个是搜索引擎的检索功能dimrs,keyword,keywordlist,path,sqlsql=""keyword=trim(Request.QueryStri...
<%
'这个是搜索引擎的检索功能
dim rs,keyword,keywordlist,path,sql
sql = ""
keyword=trim(Request.QueryString("keyword"))
if keyword="" or keyword=" " then
response.write "<Script>window.alert('请输入关键词!');history.back();</Script>"
else
keyword = replace(keyword,"'"," ")
keyword = replace(keyword,"["," ")
keyword = replace(keyword,"]"," ")
keyword = replace(keyword,","," ")
keyword = replace(keyword,","," ")
keyword=ltrim(rtrim(keyword))
keywordlist=split(keyword)
path=Request.QueryString("path")
sort_path="/"&Request.QueryString("path")&"/"
set rs=server.createobject("adodb.recordset")
for i=0 to ubound(keywordlist)
keywordlist(i) = Trim(keywordlist(i))
sql=sql &" web.title like '%" & keywordlist(i) & "%' or "
sql=sql &" web.keyword like '%" & keywordlist(i) & "%' or "
sql=sql &" web.content like '%" & keywordlist(i) & "%' or "
sql=sql &" web.url like '%" & keywordlist(i) & "%' or "
next
sql=Left(sql,(LEN(sql)-3))
if path="" or sort_path="/0/" then
search_sql="verify=0 and ("&sql&") order by click desc"
else
search_sql="sort_path like '%" & sort_path & "%' and verify=0 and ("&sql&") order by click desc"
end if
rs.open "select id,sort_path,sort_id,title,keyword,url,content,address,postcode,verify,click from web where "&search_sql,conn,1,1
%>
请问题一下,这里的sql=""是什么意思? 这里SQL中的语句根本就没有写,看不明白是怎么回事 展开
'这个是搜索引擎的检索功能
dim rs,keyword,keywordlist,path,sql
sql = ""
keyword=trim(Request.QueryString("keyword"))
if keyword="" or keyword=" " then
response.write "<Script>window.alert('请输入关键词!');history.back();</Script>"
else
keyword = replace(keyword,"'"," ")
keyword = replace(keyword,"["," ")
keyword = replace(keyword,"]"," ")
keyword = replace(keyword,","," ")
keyword = replace(keyword,","," ")
keyword=ltrim(rtrim(keyword))
keywordlist=split(keyword)
path=Request.QueryString("path")
sort_path="/"&Request.QueryString("path")&"/"
set rs=server.createobject("adodb.recordset")
for i=0 to ubound(keywordlist)
keywordlist(i) = Trim(keywordlist(i))
sql=sql &" web.title like '%" & keywordlist(i) & "%' or "
sql=sql &" web.keyword like '%" & keywordlist(i) & "%' or "
sql=sql &" web.content like '%" & keywordlist(i) & "%' or "
sql=sql &" web.url like '%" & keywordlist(i) & "%' or "
next
sql=Left(sql,(LEN(sql)-3))
if path="" or sort_path="/0/" then
search_sql="verify=0 and ("&sql&") order by click desc"
else
search_sql="sort_path like '%" & sort_path & "%' and verify=0 and ("&sql&") order by click desc"
end if
rs.open "select id,sort_path,sort_id,title,keyword,url,content,address,postcode,verify,click from web where "&search_sql,conn,1,1
%>
请问题一下,这里的sql=""是什么意思? 这里SQL中的语句根本就没有写,看不明白是怎么回事 展开
2个回答
展开全部
下面不是有sql=sql &" web.title like '%" ...... 吗?
sql=""的意思,就是先让sql等于一个空字符串(换一种说法就是清除sql的原有内容,专业一点的说法则是让sql初始化)。比如sql原来有内容,那么sql=""就可以让sql重新回到初始的空白状态,为下面的赋值做好准备,因为下面的语句是让sql不断加长的,如果不清除sql的原有数据,最终得到的sql就是错误的。
当然,具体到你的这段程序,则sql=""可以说是可有可无的,因为sql是刚刚定义的变量,它的初始值就是空白,所以sql=""这行可以删去,但是从严谨的角度来说还是必要的。
sql=""的意思,就是先让sql等于一个空字符串(换一种说法就是清除sql的原有内容,专业一点的说法则是让sql初始化)。比如sql原来有内容,那么sql=""就可以让sql重新回到初始的空白状态,为下面的赋值做好准备,因为下面的语句是让sql不断加长的,如果不清除sql的原有数据,最终得到的sql就是错误的。
当然,具体到你的这段程序,则sql=""可以说是可有可无的,因为sql是刚刚定义的变量,它的初始值就是空白,所以sql=""这行可以删去,但是从严谨的角度来说还是必要的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询