在ASP中使用SQL語句之5:開始執行
發表時間:2023-08-13 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在學會了SELECT語句的構造和用途之后你就該學習如何使用它了。在你所掌握的數據庫工具下,這可能意味著你得按下某個寫著“執行”字樣的按鈕。在ASP網頁上,可以立即執行SQL語句也可以當作存儲過程調用...
在學會了SELECT語句的構造和用途之后你就該學習如何使用它了。在你所掌握的數據庫工具下,這可能意味著你得按下某個寫著“執行”字樣的按鈕。在ASP網頁上,可以立即執行SQL語句也可以當作存儲過程調用。
一旦創建了SQL 語句,你還得設法訪問其查詢結果。顯然,這里的關鍵就是ASP recordset。在使用非SQL的recordset時,創建recordset的代碼通常如下所示:
Dim objRec
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "customers", objConn, 0, 1, 2
如果你對ASP比較熟悉以上的代碼對你可就不陌生了,你應該知道“customers”表示你打開數據庫內一個數據表的名字。
打開recordset
為了充分利用你更為熟悉的SQL技能,你需要調整常規ASP網頁上最常采用的recordset:
Dim objRec
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open SQL, objConn, 0, 1, 2
這里唯一的修改就是在objRec.Open,之后用包含SQL語句的變量代替了要查詢的數據表的名稱。
這種方法的優點之一是你可以指定游標類型(如以上0, 1 ,2 所示)。
執行SQL
你可以用緊湊的一行代碼執行SQL語句來創建recordset。以下是語法:
Dim objRec
set objRec = objConn.Execute(SQL)
在上例中,你所看到的SQL是你存放自己SQL SELECT 語句的變量。該代碼行“運行”SQL語句(或者說對數據庫進行查詢),選取數據并把數據存放在recordset 內,在上例中就是變量objRec。這種方法的主要缺點是你不能選擇自己想采用的游標類型。相反,recordset總是用前向游標打開。
因為游標的緣故,你或許打算熟悉兩種創建recordset的方法。直接執行查詢節省了鍵入字符所消耗的時間,但那樣的話你就得采用默認的游標了,這樣有可能遭遇經常不能正常運行的毛病。不管你具體采用哪種辦法,兩者之間的最大的差別也不外乎代碼精練與否。在不考慮你取得什么字段、你的標準是什么的前提下,也不管你如何存儲數據,采用SQL式的recordset 在體積上會比ASP上打開的標準recordset 要小得多,更別提操作起來的簡易性了。畢竟,通過過濾數據,你消除了耗費時間的if-then 測試和可能用到的循環。
編寫測試用SQL
這里有個技巧,許多專業ASP程序員習慣在測試網頁的時候“編寫”自己的SQL語句。這樣做可以幫助你調試代碼,因為你可以從中看到傳遞給服務器執行的字符串。而你要做的無非是增加Response.WriteyourVariable 在屏幕上顯示有關信息。在你把和SQL有關的問題提交給ASP討論組的時候你就應該附上這些信息。