以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]怎么把指定字段的文本加入集合? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95072) |
-- 作者:ufo20085 -- 发布时间:2017/1/9 16:48:00 -- [求助]怎么把指定字段的文本加入集合? Dim drs1,drs2 As List(Of DataRow) drs1 = DataTables("报关单数据201516").Select("[申报日期] >= #1/1/2015# And [申报日期] < #1/1/2016#") drs2 = DataTables("报关单数据201516").Select("[申报日期] >= #1/1/2016# And [申报日期] < #1/1/2017#") Dim names1,names2 As List(of String) For Each dr1 As DataRow In drs1 If names1.Contains(dr1("经营单位编号")) = False Then Names1.Add(dr1("经营单位编号")) End If Next 我在执行这段代码的时候提示 代码执行出错,错误信息: system.nullreferenceexception:未将对象引用设置到对象的实例。 代码应该错在 If names1.Contains(dr1("经营单位编号")) = False Then Names1.Add(dr1("经营单位编号")) End If 这一段 我把这段替换成output.show(dr1("经营单位编号"))没有报错 |
-- 作者:有点色 -- 发布时间:2017/1/9 16:49:00 -- Dim names1 As new List(of String) Dim names2 As new List(of String) |
-- 作者:ufo20085 -- 发布时间:2017/1/9 16:55:00 -- 谢谢老师。 请问为什么datarow的集合只要dim as list string的集合却要dim as new list 呢?
|
-- 作者:有点色 -- 发布时间:2017/1/9 17:07:00 -- 因为你select的时候,已经new出了一个集合,只是赋值给drs1而已;
而你的name1,并没有new出来,自然不能直接使用。 |