資料庫下載
看過很多網址列像這樣的『亂象』嗎?
http://tw.search.yahoo.com/search?fr=yfp&ei=UTF-8&p=%E5%BC%B5%E9%80%B8%E4%B8%AD
這是網頁通訊中重要的一個機制,稱為 Query String 中文翻譯為查詢字串
分析一下:
Part 1網址:http://tw.search.yahoo.com/search
Part 2參數:fr=yfp,並以 ? 與網址區隔
Part 3更多參數:ei=UTF-8...每個參數以 & 區隔。
至於奇怪的亂碼%E5%BC%B5%E9%80%B8%E4%B8%AD是UTF-8編碼的結果,在此例中是老師的名字張逸中。
上例是老師到Yahoo搜尋『張逸中』關鍵字的網址列反應。本單元來看看這種參數傳遞如何幫我們搜尋資料庫。

試試看使用Yahoo網路字典時網址列的反應。
在網址列直接打入查詢字串,測試網路字典的反應。

使用查詢字串查詢資料的程式:
說明:
以下是一個類似網路字典的搜尋程式,資料庫是校內一些專有名詞的中英文對照表,輸入查詢字串之後使用之前學過的 Like 搜尋機制即可調閱出需要的資料。

1.開啟新網站,下載資料庫到專案內(先看看資料庫的內容)
2.在網頁上佈置一個文字方塊、一個按鍵以及一個資料表
3.設定資料表的Where條件

4.執行程式在網址列後面加上『?=Pro』會出現如下畫面,資料庫的英文欄有Pro的資料都會被叫出。

5.上述方法對中文可能無效,原因是網址列不會把中文自動轉成UTF-8編碼,但是用程式就可以。
佈置一個文字盒輸入網址,以Button物件送出。範例如下:

可以讓ASP將中文轉換成應有的資料編碼格式。
試試看依此設計中文搜尋吧!
建立一個可以用學號查詢姓名的網頁
先試試看輸入這個網址:http://ycc.dwu.edu.tw/j2me/?id=學號
在學號處隨便填入一個學號就可以看到姓名的回應!
作法如下:
1.下載這個資料庫
2.開啟專案,將資料庫置入
3.佈置一個GridView,設定資料來源顯示資料表M,只顯示不重複姓名資料。
4.設定條件

5.執行上述網也複製網址加上『?id=學號』就可以查詢了!

想想看反向的查詢,姓名→學號,網頁怎麼作?
提示一:因為中文轉碼的問題必須使用上例的按鍵程式技巧
提示二:顯然不能使用相同的GridView,同時查詢字串(QueryString)的變數名稱也不能相同了!

更複雜的查詢:某同學某天的課
1.開啟新網頁
2.佈置一個文字盒用於輸入學號
3.佈置一個下拉式選單(DropDownList),手動建立選項(Items)從『一』到『五』
4.開啟另一網頁,佈置一個GridView,設定查詢字串變數,學號部份如前,週日部份如下

5.佈置一個查詢按鍵(第一個網頁)寫程式如下:
Server.Transfer("目標網頁名稱?id=" + Me.TextBox1.Text + "&cday=" + Me.DropDownList1.SelectedValue)
再試試看!班級課表或教室課表如何產生?
提示一:只需提取資料項目的教室、班級、科目與時間。
提示二:須標明不可重複,不然就慘了!