ASP進階:用asp做的簡單搜索引擎代碼_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP 3.0高級編程(三十八)
      8.3.3 使用連接狀態 將連接字符串存入應用程序變量是一個常用的技巧,同使用一個包含文件一樣有效。例如,可以在global.asa文件中加入下面的代碼: Sub Application_OnStart() strConn = "

      下面是庫中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


      ' 搜索Summary字段
      sql = sql & " ) OR ( [Summary] 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 [Summary] LIKE '%" & QueryWords( i ) & "%'"
      Else
      sql = sql & " AND [Summary] LIKE '%" & QueryWords( i ) & "%'"
      End If
      End If
      Next

      sql = sql & " )"


      '
      Set rs = Server.CreateObject("ADODB.Recordset")
      rs.Open sql, conn, 3, 3

      Response.Write "<BR><B> 你搜索的是: </B> " & QueryString

      Response.Write "<BR><B> 搜索的關鍵字: </B> "
      For i = LBound( QueryWords ) to UBound( QueryWords )
      Response.Write "<BR>" & strIndent & i & ": " & QueryWords( i )
      Next

      ' Print the SQL String
      Response.Write "<BR><B> sql 語句 : </B> " & sql

      ' Print the Results
      Response.Write "<BR><B> 結果 : </B> <UL>"
      On Error Resume Next
      rs.MoveFirst
      Do While Not rs.eof
      Response.Write "<BR>" & "<A HREF='OpenPage.asp?IndexURL=" & rs.Fields("URL").Value & "'>" & rs.Fields("Title") & "</A> - "
      Response.Write rs.Fields("Description") & "<BR>"
      Response.Write " <FONT SIZE=2>URL: " & rs.Fields("URL") & "</FONT>"
      Response.Write "<HR SIZE=1 WIDTH=200 ALIGN=LEFT>"
      rs.MoveNext
      Loop
      Response.Write "</UL>"

      end if
      %>


      </BODY>
      </HTML>

      分享:ASP技巧實例:關于對表單操作的程序
      以下為引用的內容: Inserting Form content into Database with ASP. <% ' -- Loader.asp -- ' -- version 1.5.2

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程