明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP中靈活使用存儲(chǔ)過(guò)程

[摘要]在許多網(wǎng)頁(yè)上,用戶都可以通過(guò)簡(jiǎn)單地選擇列表中的一項(xiàng)來(lái)輸入一個(gè)國(guó)家或州的名字,在大多數(shù)情況下,我們通常使用ASP來(lái)生成這個(gè)列表,創(chuàng)建生成這個(gè)列表的函數(shù)并把它們保存在一個(gè)Include文件中。然而,AS...
在許多網(wǎng)頁(yè)上,用戶都可以通過(guò)簡(jiǎn)單地選擇列表中的一項(xiàng)來(lái)輸入一個(gè)國(guó)家或州的名字,在大多數(shù)情況下,我們通常使用ASP來(lái)生成這個(gè)列表,創(chuàng)建生成這個(gè)列表的函數(shù)并把它們保存在一個(gè)Include文件中。然而,ASP需要額外的時(shí)間在服務(wù)器上加載并處理這些Include文件,此外,每次生成一個(gè)選擇列表時(shí),服務(wù)器都必須加載整個(gè)Include文件。

  在最近為一個(gè)客戶建立網(wǎng)站時(shí),我有了一個(gè)新的想法,把這些函數(shù)放在存儲(chǔ)過(guò)程而不是Include文件中,讓存儲(chǔ)過(guò)程來(lái)生成選擇清單。下面的代碼將生成一個(gè)選擇清單的記錄。

  首先,使用T-SQL的串聯(lián)功能建立一個(gè)從記錄集中生成選擇清單的Select語(yǔ)句:

  Alter Procedure "getOptionListStates"

   As

   select (''

   + rtrim( FullName) + '')

   as OptionList from states

  執(zhí)行g(shù)etOptionListStates存儲(chǔ)過(guò)程可以生成下面的記錄:

  North Carolina

  South Carolina

  Washington

  Virginia

當(dāng)然,還可以直接把選擇列表放在數(shù)據(jù)庫(kù)中。

  接下來(lái)可以修改存儲(chǔ)過(guò)程返回一個(gè)包含全部選擇列表元素的單一變量,然后把這一變量返回給HTML的Select語(yǔ)句即可。

  雖然沒(méi)有詳細(xì)地比較使用存儲(chǔ)過(guò)程和ASP這兩種方法之間在性能上的差異,但我發(fā)現(xiàn)使用存儲(chǔ)過(guò)程這種技術(shù)最有趣的地方是可以使用SQL Server自動(dòng)地生成一部分以前我們需要在ASP中完成的HTML代碼,采用這種混合方式生成ASP代碼在性能和靈活性上要優(yōu)于純ASP代碼。例如,一旦建立了一個(gè)存儲(chǔ)過(guò)程,就可以很方便地在不同的應(yīng)用中進(jìn)行調(diào)用,甚至是在不同服務(wù)器上的應(yīng)用中進(jìn)行調(diào)用,如果把所有的代碼都放在Include文件中要做到這一點(diǎn)是很困難的。