ASP技巧TOP 10(二)

來源:互聯網
上載者:User
技巧 3、資料庫搜尋技巧
1082


   在資料庫搜尋中,如果我們只使用等於符號搜尋“Pro”是無法提取出那些能夠匹配“ASP Pro”的記錄的。下面我們要介紹的是如何使用SQL的LIKE操作符實現部分文本搜尋。

   問:

   從資料庫提取記錄集時,是否有可能提取那些包含比我所指定的文本更多內容的記錄,且不對搜尋文本的出現位置有具體要求?

   例如:   
StrName = 'Direct'
RSShops = Server.CreateObject("ADODB.Recordset")
strSql = "SELECT * FROM Shops WHERE Name =
'" & StrName & "'




   是否可以提取出商店名字中包含“direct”單詞的記錄集?

   答:

   不要在SQL命令中使用等於(“=”)操作符,而是改用LIKE操作符。

   要提取出那些名字中包含“direct”的記錄,可以使用下面這個查詢命令:   
SELECT * FROM Shops WHERE Name LIKE '%direct%'




   請按照這裡的代碼修改實際使用的查詢。

4、數值顯示格式化
對於VB程式員來說,ASP中一個非常令人失望的改動是VBScript中不再有Format函數。那麼,如何格式化數字使得它不再以預設的格式顯示?比如,將數字顯示為百分數、貨幣金額或者加上小數預留位置。下面的代碼幫你解決這個問題,告訴你如何通過用來取代VB Format的FormatXXXX函數來格式化輸出。

   問:

   在我開發的應用中,某個頁面要顯示一些####.####格式的數字。在ASP中如何才能實現?

   答:

   使用VBScript的FormatNumber函數,該函數能夠返回格式化的數字運算式。文法如下:
FormatNumber(Expression [,NumDigitsAfterDecimal ][,IncludeLeadingDigit
][,UseParensForNegativeNumbers ][,GroupDigits]]]])




   例如,FormatNumber("123.45",4)將返回123.4500。

   請參考http://msdn.microsoft.com/scripting的VBScript協助獲得更多資訊。
5、SQL命令中的引號處理
雖然用VBScript代碼構造的SQL命令本身沒有問題,但是由於使用者輸入的表單資料中包含了單引號或雙引號,本來合法的SQL語句不再合法。相信有不少讀者已經遇到過這個問題。下面我們要介紹的就是如何解決這類問題。

   問:

   我有一個關於SQL Server更新、插入記錄命令的問題。我想用帶有一個或多個引號的字串來更新資料庫,SQL將字串中的引號看成文法符號並提示錯誤。我應該怎麼辦呢?是否有其它的字串分隔符號?我已經試過雙引號、[]、{}等,但都沒有用。

   答:

   在執行SQL命令之前,應當把所有字元資料中的單引號用兩個單引號替代。

   也就是說,如果SQL命令中出現了帶引號的字串(比如使用者的名字為O'Brian),就會出現問題:   
Update Table Set NameField = 'O'Brian'

   要解決問題,必須把字串中的單引號轉換成兩個單引號:   
Update Table Set NameField = 'O''Brian'

   可以利用Replace函數實現這種轉換:   
strName = Replace(strName, "'" , "''" )



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。