Foxtable(狐表)用户栏目专家坐堂 → AppendLoad报错


  共有9929人关注过本帖树形打印复制链接

主题:AppendLoad报错

帅哥哟,离线,有人找我吗?
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
AppendLoad报错  发帖心情 Post By:2012/7/5 14:58:00 [只看该作者]

今天在一个表中使用AppendLoad报错,提示框如下(使用Load时候正常)

 


图片点击可在新窗口打开查看此主题相关图片如下:appendload报错.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2012-7-5 14:57:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/5 15:06:00 [只看该作者]

把AppendLoad整段代码贴出来看看!

 回到顶部
帅哥哟,离线,有人找我吗?
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/7/5 15:24:00 [只看该作者]

Dim Dt1 As Date = DataTables(e.Form.Name & "_Tbl_Main").Compute("Max(时间)")

Dim Filter As String = "时间 > '" & Dt1 & "'"
msgbox(filter)
DataTables(e.Form.Name & "_Tbl_Main").AppendLoad(Filter ,False)


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/5 15:45:00 [只看该作者]

这样试一试:

 

Dim Dt1 As Date = DataTables(e.Form.Name & "_Tbl_Main").Compute("Max(时间)")

Dim Filter As String = "[时间] > '" & Dt1 & "'"
msgbox(filter)
DataTables(e.Form.Name & "_Tbl_Main").AppendLoad(Filter ,False)


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/5 15:52:00 [只看该作者]

或者这样:

 

Dim Dt1 As Date = DataTables(e.Form.Name & "_Tbl_Main").Compute("Max(时间)")

Dim Filter As String = "[时间] > '" & Dt1 & "'"
Dim
drs As List(Of DataRow)
drs = DataTables(e.Form.Name & "_Tbl_Main").Select(Filter)

if drs.Count > 0

   Messagebox.Show("数据已经存在于表中,不能追加!")

else

    DataTables(e.Form.Name & "_Tbl_Main").AppendLoad(Filter ,False)

end if


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/5 15:58:00 [只看该作者]

必须把握一条原则: 新追载的数据在不存在于已经加载的数据中,才能追载。


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/5 16:00:00 [只看该作者]

哈哈,我好不容易抢一次先!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/5 16:19:00 [只看该作者]

不过,建议贺老师改进,AppendLoad中自动判断这些符合条件的行是否已经存在于datatable中(存在不追载,均不存在则加载,部分存在,则忽略追载已经存在的行)!

 

由此可见,5楼的代码还不严谨,最好是先移除符合条件的行再追载,这样避免只存在部分行而不能追载的情况!

[此贴子已经被作者于2012-7-5 16:19:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/6 8:00:00 [只看该作者]

这样不是不可以,但是效率比较差,所以还是自己编程的时候,做得严谨一点比较好。

 回到顶部
帅哥哟,离线,有人找我吗?
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/7/6 9:23:00 [只看该作者]

找到原因了,原本是SQLQuery型Table不能使用AppendLoad,改成SQLTable就正常了

 回到顶部
总数 12 1 2 下一页