Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 为多维数组添加值_Vb.net_Multidimensional Array - Fatal编程技术网

Vb.net 为多维数组添加值

Vb.net 为多维数组添加值,vb.net,multidimensional-array,Vb.net,Multidimensional Array,我有一个多维数组,它将保存3位值,值将通过循环从db中读取来添加。当出现以下代码行时: *MenuAccess(.Fields(“GROUPNO”).Value、.Fields(“ITEMNO”).Value、.Fields(“SUBITEMNO”).Value)=ok否* 这是一个错误,“对象引用未设置为对象的实例。” Public MenuAccess(100,30,50)作为布尔值 私有子RtGetMenu_Access() 尝试 Dim OKNO为布尔型 删除菜单访问 DBMgr=新的c

我有一个多维数组,它将保存3位值,值将通过循环从db中读取来添加。当出现以下代码行时:

*MenuAccess(.Fields(“GROUPNO”).Value、.Fields(“ITEMNO”).Value、.Fields(“SUBITEMNO”).Value)=ok否*

这是一个错误,“对象引用未设置为对象的实例。”

Public MenuAccess(100,30,50)作为布尔值
私有子RtGetMenu_Access()
尝试
Dim OKNO为布尔型
删除菜单访问
DBMgr=新的cAdodb
使用DBMgr
.openCnn(cnnSPR)
.sql(rst1)=“从BSMENU中选择*访问,其中LEVELCD='”&Trim(UserTaskLevel)和“'Order by GROUPNO”
.openRstRead(rst1)
带.rst(rst1)
做而不做
如果.Fields(“GROUPNO”).Value.ToString.Trim“”和.Fields(“ITEMNO”).Value.ToString.Trim“”和.Fields(“SUBITEMNO”).Value.ToString.Trim“”,则
如果.Fields(“LEVEL1”).Value.ToString.Trim=“Y”,则OKNO=True,否则OKNO=False
'=>错误:“对象引用未设置为对象的实例。”
MenuAccess(.Fields(“GROUPNO”).Value、.Fields(“ITEMNO”).Value、.Fields(“SUBITEMNO”).Value)=确定
如果结束
.MoveNext()
环
以
.关闭RST(rst1)
.CNN(rst1)
以
DBMgr=无
特例
如果DBMgr.cnn(cnnSPR).State为0,则
DBMgr.closeCnn(cnnSPR)
DBMgr=无
如果结束
结束尝试
端接头

您缺少阵列的初始化

Public MenuAccess(100, 30, 50) As Boolean   'Object not initialized in VB.NET
试试这个

Public MenuAccess() As New Boolean(100,30,50)
还可以使用
Integer.TryPrase()


选项严格打开或关闭?显然其中一个字段不存在。您不能使用IDE调试器来确定哪一个返回null吗?将
.Fields(“GROUPNO”).Value
.Fields(“ITEMNO”).Value
.Fields(“SUBITEMNO”)放在一起.Value
首先输入局部变量,以便a)您可以检查
无任何内容,b)您不必在
IF
MenuAccess
语句中访问它们两次。
Public MenuAccess() As New Boolean(100,30,50)
Dim i as Integer=-1, j as Integer=-1, k as Integer=-1
Integer.TryParse(.Fields("GROUPNO").Value.ToString(), i)
Integer.TryParse(.Fields("ITEMNO").Value.ToString(), j)
Integer.TryParse(.Fields("SUBITEMNO").Value.ToString(), k)

If i>=0 AndAlso j>=0 AndAlso k>=0 Then
    MenuAccess(i,j,k) = OkNo
End If