這是使用VBScript的asp經典,不,它不會移動到.net任何東西,所以甚至不要問。VBScript函數創建一個二維數組,就像GetRows一樣
OK,所以經典的方式來獲得數據從數據庫中是使用GetRows的:
Dim MyRecords
Dim rs, conn
[...database opening stuff...]
If Not rs.EOF Then
MyRecords = rs.GetRows
End If
[...close database & set to Nothing...]
注MyRecords如何不變暗作爲一個數組;它只在GetRows
呼叫後成爲一個。
我的問題是,如何在不使用GetRows
的情況下做類似的事情?例如,如果數據需要來自Request.Form
而不是數據庫? (比如「如果滿足條件,則從數據庫獲取數據,否則從表單獲取數據,但以相同的方式顯示數據,無論它來自哪裏」)。
vbScript中有Array
函數,但它只能創建一維數組 - 它就像是我所知道的Split
函數的有限版本。我需要兩個維度。 (向後兩個維度,毫不遜色,以匹配方式GetRows
作品 - 即第一尺寸的列,所述第二尺寸的行。)
我不能使用動態陣列(Dim MyRecords()
,後來ReDim MyRecords(x,y)
),因爲那麼GetRows
將會引發錯誤。
有沒有辦法做我想做的事情,還是我必須自己辭職來處理兩個不同的數組,一個用於數據庫,另一個用於表單?或者更糟的是,使用Do While
循環來填充數據庫中的數組... ...//不寒而慄。
我不敢相信我不知道這一點。謝謝! (我在閱讀你的答案後檢查了vbscript文檔,他們似乎暗示ReDim應該只用於動態數組[這是我模糊的記憶],但我只是用非數組測試它,並且它可以工作。 ) – Martha 2009-12-07 14:55:23