当数据库的记录一个自动为空的时候,如果用DataGrid显示你的数据库记录就会出现“下标越界”的错误,因为当某个记录的某个字段为空,把值赋值给datagrid的时候,数组就会少1,从而出现上述错误。
这个问题困扰了我很久,开始采用的是把每个记录的字段为空的话就手工用null填充,今天仔细想如果数据很大的话那不是累死人。
今天发现了一个超级聪明的办法,呵呵,就是在循环写入的时候在后面添加一个 & “”就可以搞定。比如:
For lCount = 1 To nPageSize
objrs.AddNew
objrs!id = rs_findbook!id & “”
objrs!auther = rs_findbook!auther & “”
objrs!Name = rs_findbook!Name & “”
objrs!press = rs_findbook!press & “”
objrs!Year = rs_findbook!Year & “”
objrs!other = rs_findbook!other & “”
rs_findbook.MoveNext
Next
如:这样即使rs_findbook!auther的值为null,也能保证数组大小不变,从而消除下标越界的错误