我初次接触VB,要做的程序要从数据库中抽取数字(不知道到底有多少条),所以抽出来数据要放到动态数组中存储,每次保存一条的时候,要重申请空间(每次只需要申请一个单元的空间),同时要保护已经存在的数据,我使用如下语句(其中为rs从数据库中获得的数据集):
rows = 0Do While Not rs.EOF
ReDim Preserve TmpCol(rows) '*********
TmpCol(UBound(TmpCol))=rs(0)
vs.MoveNext
rows = rows + 1
Loop以上语句是否正确?特别是加*********处,我怀疑它并非一次申请一个单元的空间,而是申请rows个单元的空间。再就是运行程序的时候报错:Subscript out of range
这样的话错误一般出现在哪些方面?
rows = 0Do While Not rs.EOF
ReDim Preserve TmpCol(rows) '*********
TmpCol(UBound(TmpCol))=rs(0)
vs.MoveNext
rows = rows + 1
Loop以上语句是否正确?特别是加*********处,我怀疑它并非一次申请一个单元的空间,而是申请rows个单元的空间。再就是运行程序的时候报错:Subscript out of range
这样的话错误一般出现在哪些方面?
Dim tmpCol() As Integer
Do While Not rs.EOF
ReDim Preserve tmpCol(Rows) '*********
tmpCol(UBound(tmpCol)) = rs(0)
vs.MoveNext
Rows = Rows + 1
Loop
Subscript out of range 数组下标越界了。一般情况下,不用数组。直接对RS进行读取或修改就行。
redim strCmmmand(0)'初始画ReDim Preserve g_varCmmmand(ubound(g_varCmmmand)+1)'动态添加
g_varCmmmand(ubound(g_varCmmmand))=""'赋值erase g_varCmmmand'释放