2010-04-26 11 views
6

Tôi muốn mảng đa chiều của tôi là động, khi tôi đang cố gắng làm điều đó bằng cách sử dụng reDim tôi nhận được lỗi "Mảng này được cố định hoặc tạm thời bị khóa: refArr", Theo dõi là mã của tôi:Mảng này là cố định hoặc tạm thời bị khóa (trong asp)

max=10 
dim refArr(10,2) 


dim i 
i=0 
while not rs1.eof 

     max=max+1 
     redim refArr(max,2) 

    niftyChange=0 

     refArr(i,0)="niftyDate" 
     refArr(i,1)="temp" 

    i=i+1 
    rs1.movenext 

wend 
+0

Trong mẫu đã cho, bạn thậm chí sẽ không phải làm mờ mảng của mình vì bạn có thể khởi tạo nó thành 'rs1.RecordCount'. – Filburt

Trả lời

7

Nếu bạn đang đi để ReDim nó, bạn cần phải dim nó không có kích thước ban đầu:

dim refArr() 

tôi nghĩ rằng bạn thực sự muốn sử dụng ReDim Preserve, tuy nhiên, để giữ Dữ liệu hiện có.

+0

Xin cảm ơn, Nó hiện đang hoạt động .. Bạn có thể giải thích thêm về 'bảo tồn' một chút nữa không? Khi tôi không sử dụng bảo quản, tôi có bị mất tất cả dữ liệu không? –

+0

Tôi đã học được rằng nếu tôi không sử dụng bảo tồn, tôi sẽ mất tất cả dữ liệu và Nếu tôi sử dụng nó, thì tôi sẽ chỉ có thể thay đổi kích thước chỉ kích thước cuối cùng. Nhưng khi thực hiện trong mã hóa của tôi, tôi gotto thay đổi kích thước kích thước đầu tiên, nếu không nó sẽ không hoạt động. I * s có bất kỳ cách nào ra khỏi nó .. –

+0

Chỉ cần trao đổi kích thước của bạn và lặp lại cho phù hợp. Liệu nó có quan trọng đến thứ nguyên nào đến trước không? – RedFilter

Các vấn đề liên quan