以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 老大,请进! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=6704)
|
-- 作者:baoxyang
-- 发布时间:2010/4/21 14:49:00
-- 老大,请进!
dim dtset1 as new System.Data.DataSet() dtset1 = tt.GetStationAlarms(val(vars("CusID")),vars("Gpspwd"),car,tm1,tm2) ‘这个是从外部数据表中采集的数据(外部接口) if dtset1.Tables(0).Rows.Count > 0 then Dim th as Data.DataTable = dtset1.Tables(0) dtset1.Tables.Remove(th) ’这个老大教的方法,主要是写数据到表中 Tables("车辆即时状态_Table2").DataSource = th DataTables("车辆即时状态_Table2").DataCols("uploadtime").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime) end if 当外部数据在条件设置下所采集的数据为空时(也就是无数据时)会报错,if dtset1.Tables(0).Rows.Count > 0 then 用此判断无效。 请老大指点,应怎样才能不报错?谢谢!!!
|
-- 作者:狐狸爸爸
-- 发布时间:2010/4/21 15:01:00
--
报什么错? 我不明白你的意思
|
-- 作者:baoxyang
-- 发布时间:2010/4/21 15:05:00
--
在条件下有数据时可以正常加载数据到表中,但无数据时提示如下错误。 此主题相关图片如下:未命名.gif
|
-- 作者:baoxyang
-- 发布时间:2010/4/21 16:08:00
--
原因找到,如果数据为空时不能使用if dtset1.Tables(0).Rows.Count > 0 then 来判断。去掉这个判断即可。 但有遇到另外一个问题, Dim th as Data.DataTable = dtset1.Tables(0) dtset1.Tables.Remove(th) ’这个老大教的方法,主要是写数据到表中 Tables("车辆即时状态_Table2").DataSource = th 看到表dataTables("车辆即时状态_Table2")只有列,没有行。 但用 if Tables("车辆即时状态_Table2").count > 0 then 来判断是否有加载数据时,此句会报错。
此主题相关图片如下:未命名.jpg
|
-- 作者:狐狸爸爸
-- 发布时间:2010/4/21 16:41:00
--
删除这行: dtset1.Tables.Remove(th) ’这个老大教的方法,主要是写数据到表中
已经从dataset移除了表th, 该表不再属于dataset中,所以if dtset1.Tables(0).Rows.Count > 0 then会出错
|
-- 作者:baoxyang
-- 发布时间:2010/4/21 17:01:00
--
哦,我用其它方法解决了。谢谢!!
|
-- 作者:baoxyang
-- 发布时间:2010/4/21 17:07:00
--
以下是引用狐狸爸爸在2010-4-21 16:41:00的发言: 删除这行: dtset1.Tables.Remove(th) ’这个老大教的方法,主要是写数据到表中
已经从dataset移除了表th, 该表不再属于dataset中,所以if dtset1.Tables(0).Rows.Count > 0 then会出错
这样会报错
|
-- 作者:狐狸爸爸
-- 发布时间:2010/4/21 17:14:00
--
应该不会报错了的
|
-- 作者:baoxyang
-- 发布时间:2010/4/21 17:20:00
--
删除这行: dtset1.Tables.Remove(th) ’这个老大教的方法,主要是写数据到表中
出现如下错误:
此主题相关图片如下:未命名.jpg
|
-- 作者:狐狸爸爸
-- 发布时间:2010/4/21 17:29:00
--
下次改一下。
|