Foxtable(狐表)用户栏目专家坐堂 → [求助]使用fill是清空了后台表的数据


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

主题:[求助]使用fill是清空了后台表的数据

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


加好友 发短信
等级:一尾狐 帖子:427 积分:4529 威望:0 精华:0 注册:2012/3/7 23:19:00
[求助]使用fill是清空了后台表的数据  发帖心情 Post By:2016/10/26 12:58:00 [只看该作者]

怎么发不了贴?

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


加好友 发短信
等级:一尾狐 帖子:427 积分:4529 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2016/10/26 13:03:00 [只看该作者]

好像插入代码就通不过

代码示例在下面,zztb是SQLTable类型
[此贴子已经被作者于2016/10/26 13:59:09编辑过]

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


加好友 发短信
等级:一尾狐 帖子:427 积分:4529 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2016/10/26 13:10:00 [只看该作者]


图片点击可在新窗口打开查看
[此贴子已经被作者于2016/10/26 13:11:56编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 14:19:00 [只看该作者]

跟fill没有关系,是DataRows.Clear()惹的祸

Clear方法会直接从后台清除所有行,并即刻生效,且不能撤销,所以一定要慎重使用。

Fill会自动更新数据,没有必要Clear了

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


加好友 发短信
等级:一尾狐 帖子:427 积分:4529 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2016/10/26 16:06:00 [只看该作者]

可是我清除的是窗口表的数据,怎么把引用的后台表的数据清除了?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 16:21:00 [只看该作者]

请仔细看帮助

DataRows.Clear()是datatable的方法,不是table的

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


加好友 发短信
等级:一尾狐 帖子:427 积分:4529 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2016/10/26 19:28:00 [只看该作者]

以下是引用有点蓝在2016/10/26 16:21:00的发言:
请仔细看帮助

DataRows.Clear()是datatable的方法,不是table的

有点弄糊涂了
我写的是
dim zztb as table = e.form.controls("中转“).table
zztb.datatable.datarows.clear

按说是清除窗口中的表才是,怎么会清除读取数据的明细表去了呢?

上面一行取消了,问题是没了,只是有点搞不懂为什么会这样,是指通过fill加载数据后,这个窗口表的datatable就直接绑定到后台表去了吗?


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 20:52:00 [只看该作者]

先搞清楚table 和datatable的关系:http://www.foxtable.com/webhelp/scr/1586.htm

假如把数据库比作是工厂,datatable这个仓库可以放全部的产品(全部加载),也可以放部分的产品(有条件加载部分数据);

而table这个展厅也可以把仓库全部产品摆出来(默认就是显示全部datatable的数据),也可以摆出部分产品(设置Filter),不管怎么样展厅就和仓库有关联了,zztb.datatable指的就是和zztb这个展厅关联的仓库,注意指的是仓库

当然展厅也可以展示其它仓库的产品(比如Fill,Fill的动作就是把展厅原来的产品放回原仓库,然后把另外一个仓库的产品摆出来)

仓库和展厅都提供了清除(移除数据)和销毁(删除数据)的服务。清除相当于把产品还回来的地方,如清除仓库相当把产品返回工厂。而销毁却相当于把产品就地毁灭了,不管是在仓库销毁还是在展厅销毁,这个产品都不存在了,当然工厂(数据库)也就不会存在这个产品(数据)了。

zztb.datatable.datarows.clear就是把展厅关联的仓库的产品完全销毁了,而且是用原子弹炸的灰都不剩下的那种,明白了吗

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


加好友 发短信
等级:一尾狐 帖子:427 积分:4529 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2016/10/27 9:05:00 [只看该作者]

谢谢有点蓝的讲解

以前一直以为用fill方式生成的表的datatable是独立的
是不是可以这样理解,用fill方式生成的表,其datatable就是被引用的表,和副本表一样。




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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/27 9:21:00 [只看该作者]

差不多吧

 回到顶部