2010-04-26 5 views
6

मैं चाहता हूं कि मेरी बहुआयामी सरणी गतिशील हो, जब मैं reDim का उपयोग करके ऐसा करने की कोशिश कर रहा हूं तो मुझे त्रुटि मिल रही है "यह सरणी ठीक है या अस्थायी रूप से बंद है: refArr", निम्नलिखित , हालांकि, रखने के लिएयह सरणी तय या अस्थायी रूप से लॉक (एएसपी में)

dim refArr() 

मुझे लगता है कि आप वास्तव में ReDim Preserve उपयोग करना चाहते हैं:

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

आपके दिए गए नमूने में आपको अपनी सरणी को फिर से मंद नहीं करना होगा क्योंकि आप इसे 'rs1.RecordCount' में प्रारंभ कर सकते हैं। – Filburt

उत्तर

7

आप इसे ReDim करने जा रहे हैं, तो आप शुरू में इसे बिना आकार के साथ यह dim करने की जरूरत है: मेरे कोड है मौजूदा डेटा।

+0

हे धन्यवाद, यह अभी काम कर रहा है .. क्या आप कृपया थोड़ी और अधिक 'संरक्षित' पर विस्तारित करेंगे? जब मैं संरक्षित नहीं करता, तो क्या मैं सभी डेटा खो दूंगा? –

+0

मैंने सीखा है कि यदि मैं संरक्षित नहीं करता हूं, तो मैं सभी डेटा खो दूंगा और यदि मैं इसका उपयोग करता हूं, तो मैं केवल अंतिम आयाम का आकार बदल सकता हूं। लेकिन जैसा कि मेरे कोडिंग में किया गया है, मुझे पहले आयाम का आकार बदलना है, अन्यथा यह काम नहीं करेगा। मैं इसके बाहर कोई रास्ता नहीं है .. –

+0

बस तदनुसार अपने आयामों और पुनरावृत्ति स्वैप करें। क्या इससे कोई फर्क पड़ता है कि कौन सा आयाम पहले आता है? – RedFilter

संबंधित मुद्दे