經常看到許多網站有一個站內搜索功能,這個是如何實現呢?假如是asp,那dreamweaver很快就能實現。現在是asp.net,得稍微手編一下。
11.1 select高級搜索技巧
經過上面章節的學習,對select多少會點了解。select高級搜索技巧,其實也沒有什么神秘,主要與模式匹配運算符的運用有關。所以這里主要講解模式匹配運算符的運用。
模式匹配運算符like、not like常用于模糊查找,它判定列值是否與指定的字符串格式相匹配。like用于查找匹配一定條件的記錄,not like用于查找不匹配指定條件的記錄。可用于字符串、文本、日期等類型查詢。
1.百分號%:可匹配任意類型和長度的字符。
例如:select 學習筆記 from 學習筆記表 where 標題 like “網絡%”
這個查詢是要查詢學習筆記表中標題以“網絡”開始的所有學習筆記,如:網絡數據庫asp一點通過、網絡與手機通訊開發研究等。
例如:select 學習筆記 from 學習筆記表 where 標題 like “%asp.net%”
這個查詢是要查詢所有標題包含了“asp.net”的學習筆記。
2.下劃線_:匹配單個任意字符,常用來限制表達式的字符長度。
例如:select 學習筆記 from 學習筆記表 where 標題 like ”v_開發精選 ”
這個查詢主要是查詢類似于“vb開發精選”、“vc開發精選”這樣標題的學習筆記。
3.中括號[ ]:指定個字符、字符串或范圍,要求所匹配對象為它們的任一個。
11.2 站內搜索功能的實現
介紹了select高級搜索技巧后,將要介紹站內搜索功能的實現。這里只采用了百分號%模式匹配運算符。
(1)打開模板dkblog.dwt.aspx,插入表單,設id=” gofrm”,動作為” ../dkgo.aspx”,方法為”post”;插入文本框,設id= “dkgotxt”;插入按鈕“搜索”,結果如圖11-1所示。
(2)保存模板dkblog.dwt.aspx更新所有網頁。
(3)新建一個空白asp.net vb動態頁,并保存為dkgo.aspx。添加數據集ztre,其設置如圖11-2所示。
圖11-1 添加有關表單控件
圖11-2 添加數據集ztre
(4)單擊“高級”按鈕,把sql命令:
select * from zt order by zitime desc
改為:
select * from zt where ztname like '%" request.form("dkgotxt") "%' order by zitime desc
結果如圖11-3所示。
圖11-3 對數據集ztre進行修改
(5)對dkgo.aspx頁面進行有關設計,綁定有關動態文本到頁面中,設計重要區域,結果如圖11-4所示。
圖11-3 對dkgo.aspx的頁面設置
有關設置細節可以參照index.aspx的有關設置。 |||
新聞熱點
疑難解答