Это классика asp, использующая VBScript, и нет, он ничего не перемещает в .net, так что даже не спрашивайте.
ОК, поэтому классический способ вывести данные из базы данных - это использовать 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
для заполнения массива из базы данных ... //shudder.