比如,我寫了一個函式getProductINFO(Pro_number,a)
即:根據Pro_number,獲取欄位a對應的值,即rs("a")
那么,如果我這個表有20個欄位,有30行,那么,需要回圈參考該函式的次數為:
從第1行,到第30行,要30行次,并且:每一行都要參考20次
因為每一行都有20個欄位,即:
getProductINFO(Pro_number,a),獲取a欄位的值,第1次
getProductINFO(Pro_number,b),獲取b欄位的值,第2次
……
這樣是不是頻繁參考執行函式,效率太低,有許多重復的開銷?
感徑訓不如,在頁面中,一次性讀取出來呢?
__________________________________________
還有一個問題:我下載了網上的原始碼,發現library.asp里的函式。
感覺是,response.Write是ASP官方的語法,而這個作者,卻寫了一個echo和die函式,來代替。也是為了提升寫碼效率嗎?
這樣作有沒有必要呢?那是不是理論上來說,任何重復的代碼,都可以進一步的寫成函式,用來簡化作業量?
Sub echo(Str) '程序:輸出字串[代替Response.Write]
response.Write(Str)
End Sub
Sub die(Str) '程序:結束頁面并輸出字串
Response.Write(Str)
response.End()
End Sub
_________________________________
最后一個問題,自定義函式檔案,一般是通過include參考到別的頁面的。假設A頁面要參考的include檔案是30K,但這30K里,只有一個函式用得上,那么是不是對A頁面來說很吃虧呀?(額外無效的加載和資源),有沒有什么更好的方法?
謝謝你的解答!再次感謝!!
——————附我寫的函式————————
Function getProductINFO(Pro_number,a) '根據商品ID,查詢任意欄位
set rsA=server.createobject("adodb.recordset")
If isnull(Pro_number) Or Pro_number="" Then
getProductINFO="空!"
Else
sqlA="select * from ProductInfo where Pro_number="&Pro_number
'Response.write sqlA
rsA.open sqlA,conn,1,1
if Not rsA.eof Then
getProductINFO=rsA(a)
Else
getProductINFO="-"
End if
rsA.close
set rsA=Nothing
End if
End Function
uj5u.com熱心網友回復:
扔扔扔扔扔扔扔扔轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/131486.html
標籤:ASP
上一篇:type="datetime-local 彈出位置問題
下一篇:Vue2.4和2.6
