解读用asp编写类似搜索引擎功能的代码_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:揭秘解决杀毒软件误删asp文件的方法
一些杀毒软件经常会把某些asp文件当成病毒删除,有时简直防不胜防,程序莫名其妙的就不能用了,因为少了文件呀~~。这主要是因为,杀毒软件将某些asp代码当成木马关键词,记录保存着,所以遇到有这个关键词,就会禁止运行或删除。 解决的方法是将这些关键词给

首先建一个access 数据库,库中有一个URLINDEX表,其中URL和Keywords字段分别添加了索引,如下:
URL             文本 (索引:有(无重复))
Title            文本
Description 文本
Summary    文本
Keywords   文本(索引:有(无重复))

程序文件doquery.asp,代码:
<HTML><HEAD><TITLE>简单搜索引擎</TITLE></HEAD>
<BODY BGCOLOR=#ffffff MARGINWIDTH="0" MARGINHEIGHT="0" 
LEFTMARGIN=0 TOPMARGIN=0> 
<FORM METHOD="post" ACTION="doquery.asp?act=search">
 Query: <INPUT TYPE="Text" NAME="QueryString"><BR>
 <INPUT TYPE="Submit" VALUE="Submit">
</FORM>
</CENTER>


<%
dim act
act=request("act")
if(act="search") then
 QueryString = Request.form( "QueryString" )
 QueryWords  = Split( QueryString )
 strIndent   = "          "
 
 ’ 如果搜索为空则返回
 If QueryString = "" Then
  Response.Redirect( "default.asp" )
 End If
 
 Session.timeout = 2
 If IsObject(Session("sitesearch_conn")) Then
     Set conn = Session("sitesearch_conn")
 Else
     Set conn = Server.CreateObject("ADODB.Connection")
     conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/SiteSearch.mdb"),"",""
     Set Session("sitesearch_conn") = conn
 End If

 ’ 查询语句
 sql = "SELECT * FROM [URLIndex] WHERE" 
     
 ’搜索Description字段
 sql = sql & " ( [Description] LIKE ’%" & QueryWords( 0 ) & "%’"   ’ First
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Description] LIKE ’%" & QueryWords( i ) & "%’"
   Else
    sql = sql & " AND [Description] LIKE ’%" & QueryWords( i ) & "%’"
   End If
  End If
 Next

 ’ 搜索Keywords字段 
 sql = sql & " ) OR ( [Keywords] LIKE ’%" & QueryWords( 0 ) & "%’"
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Keywords] LIKE ’%" & QueryWords( i ) & "%’"
   Else
    sql = sql & " AND [Keywords] LIKE ’%" & QueryWords( i ) & "%’"
   End If
  End If
 Next 

 ’  搜索Title字段  
 sql = sql & " ) OR ( [Title] LIKE ’%" & QueryWords( 0 ) & "%’"
 For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
  If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
   If uCase( QueryWords( i-1 ) ) = "OR" Then
    sql = sql & " OR [Title] LIKE ’%" & QueryWords( i ) & "%’"
   Else
    sql = sql & " AND [Title] LIKE ’%" & QueryWords( i ) & "%’"
   End If
  End If
 Next
 

分享:揭秘17个ASP编程基础典型代码
1.ASP取得表格输入数据的方法:GETPOST 一.get:用户端将数据加到URL后,格式为”?字段1=输入数据1字段2=输入数据2...,再将其送到服务器。如:action为www.abc.com,字段Name输入数据为jack,字段age的数据为15,则用get方法为http://www.abc.com?Name=jackAge=

共2页上一页12下一页
来源:模板无忧//所属分类:ASP教程/更新时间:2010-02-25
相关ASP教程