以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [未将对象引用设置到对象的实例]的错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98592)

--  作者:newsun2k
--  发布时间:2017/4/1 15:49:00
--  [未将对象引用设置到对象的实例]的错误
帮忙看看这段代码哪里错了,百思不得其解啊。

Dim drAJGL As DataRow = DataTables("表A").sqlfind("编码 = \'" & strCode & "\'")
If drAJGL Is Nothing Then 
    msgbox("err")
    Return False
End If
For Each dc As DataCol In drAJGL.DataTable.DataCols
    msgbox(dc.name)
Next 
Return False

一个msg都没有弹出,就报错:未将对象引用设置到对象的实例。

--  作者:有点蓝
--  发布时间:2017/4/1 16:00:00
--  

For Each dc As DataCol In DataTables("表A").DataCols
    msgbox(dc.name)
Next 


--  作者:kylin
--  发布时间:2017/4/1 19:22:00
--  
To楼主,如果按照你的思路,这个DataRow非空的判断是必须的

Dim drAJGL As DataRow = DataTables("表A").sqlfind("编码 = \'" & strCode & "\'")
If drAJGL Is Nothing Then 
    msgbox("err")   
Else
    For Each dc As DataCol In drAJGL.DataTable.DataCols
         msgbox(dc.name)
    Next  
End If
另外,如果不是在函数当中,好像Return False没有什么用,建议删除。

--  作者:有点色
--  发布时间:2017/4/2 11:50:00
--  

 sqlFind的dr,没有datatable对象属性的。不能直接用。看2楼。