經(jīng)常看到許多網(wǎng)站有一個站內(nèi)搜索功能,這個是如何實現(xiàn)呢?假如是ASP,那Dreamweaver很快就能實現(xiàn)。現(xiàn)在是ASP.NET,得稍微手編一下。
11.1 SELECT高級搜索技巧
經(jīng)過上面章節(jié)的學習,對SELECT多少會點了解。SELECT高級搜索技巧,其實也沒有什么神秘,主要與模式匹配運算符的運用有關(guān)。所以這里主要講解模式匹配運算符的運用。
模式匹配運算符LIKE、NOT LIKE常用于模糊查找,它判定列值是否與指定的字符串格式相匹配。LIKE用于查找匹配一定條件的記錄,NOT LIKE用于查找不匹配指定條件的記錄。可用于字符串、文本、日期等類型查詢。
1.百分號%:可匹配任意類型和長度的字符。
例如:SELECT 學習筆記 FROM 學習筆記表 WHERE 標題 LIKE “網(wǎng)絡%”
這個查詢是要查詢學習筆記表中標題以“網(wǎng)絡”開始的所有學習筆記,如:網(wǎng)絡數(shù)據(jù)庫ASP一點通過、網(wǎng)絡與手機通訊開發(fā)研究等。
例如:SELECT 學習筆記 FROM 學習筆記表 WHERE 標題 LIKE “%ASP.NET%”
這個查詢是要查詢所有標題包含了“ASP.NET”的學習筆記。
2.下劃線_:匹配單個任意字符,常用來限制表達式的字符長度。
例如:SELECT 學習筆記 FROM 學習筆記表 WHERE 標題 LIKE ”V_開發(fā)精選 ”
這個查詢主要是查詢類似于“VB開發(fā)精選”、“VC開發(fā)精選”這樣標題的學習筆記。
3.中括號[ ]:指定個字符、字符串或范圍,要求所匹配對象為它們的任一個。
11.2 站內(nèi)搜索功能的實現(xiàn)
介紹了SELECT高級搜索技巧后,將要介紹站內(nèi)搜索功能的實現(xiàn)。這里只采用了百分號%模式匹配運算符。
(1)打開模板dkblog.dwt.aspx,插入表單,設ID=” gofrm”,動作為” ../dkgo.aspx”,方法為”POST”;插入文本框,設ID= “dkgotxt”;插入按鈕“搜索”,結(jié)果如圖11-1所示。
(2)保存模板dkblog.dwt.aspx更新所有網(wǎng)頁。
(3)新建一個空白ASP.NET VB動態(tài)頁,并保存為dkgo.aspx。添加數(shù)據(jù)集Ztre,其設置如圖11-2所示。
圖11-1 添加有關(guān)表單控件
圖11-2 添加數(shù)據(jù)集Ztre
(4)單擊“高級”按鈕,把SQL命令:
SELECT * FROM ZT ORDER BY ZITIME DESC
改為:
SELECT * FROM ZT WHERE ZTNAME LIKE '%" Request.Form("dkgotxt") "%' ORDER BY ZITIME DESC
結(jié)果如圖11-3所示。
圖11-3 對數(shù)據(jù)集Ztre進行修改
(5)對dkgo.aspx頁面進行有關(guān)設計,綁定有關(guān)動態(tài)文本到頁面中,設計重要區(qū)域,結(jié)果如圖11-4所示。
圖11-3 對dkgo.aspx的頁面設置
有關(guān)設置細節(jié)可以參照index.aspx的有關(guān)設置。
新聞熱點
疑難解答