Recommended: ASP 3.0 Advanced Programming (38) 8.3.3 Using the connection state to save connection strings into application variables is a common trick, and it is as effective as using an included file. For example, you can add the following code to the global.asa file: Sub Application_OnStart()strConn = "
Below is the URLINDEX table in the library: the URL and Keywords fields have been indexed respectively.
| URL text (index: with (no duplication)) Title text Description Text Summary text Keywords text (index: with (no duplication)) |
doquery.asp
| <HTML><HEAD><TITLE>Simple Search Engine</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 the search is empty, return 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 ' Query statement sql = SELECT * FROM [URLIndex] WHERE 'Search Description field 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 ' Search for Keywords field 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 ' Search for Title fields 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 ' Search for Summary fields 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> You are searching for: </B> & QueryString Response.Write <BR><B> Search for keywords: </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 statement: </B> & sql ' Print the Results Response.Write <BR><B> Result: </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> |
Share: ASP tip example: About the program for operating forms The following is the referenced content: Inserting Form content into Database with ASP. <% ' -- Loader.asp -- ' -- version 1.5.2