以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]使用fill是清空了后台表的数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92111) |
-- 作者:xuezxz -- 发布时间:2016/10/26 12:58:00 -- [求助]使用fill是清空了后台表的数据 怎么发不了贴? |
-- 作者:xuezxz -- 发布时间:2016/10/26 13:03:00 -- 好像插入代码就通不过 代码示例在下面,zztb是SQLTable类型
[此贴子已经被作者于2016/10/26 13:59:09编辑过]
|
-- 作者:xuezxz -- 发布时间:2016/10/26 13:10:00 -- [此贴子已经被作者于2016/10/26 13:11:56编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/10/26 14:19:00 -- 跟fill没有关系,是DataRows.Clear()惹的祸 Clear方法会直接从后台清除所有行,并即刻生效,且不能撤销,所以一定要慎重使用。 Fill会自动更新数据,没有必要Clear了
|
-- 作者:xuezxz -- 发布时间:2016/10/26 16:06:00 -- 可是我清除的是窗口表的数据,怎么把引用的后台表的数据清除了? |
-- 作者:有点蓝 -- 发布时间:2016/10/26 16:21:00 -- 请仔细看帮助 DataRows.Clear()是datatable的方法,不是table的
|
-- 作者:xuezxz -- 发布时间: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就直接绑定到后台表去了吗?
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2016/10/27 9:05:00 -- 谢谢有点蓝的讲解 以前一直以为用fill方式生成的表的datatable是独立的 是不是可以这样理解,用fill方式生成的表,其datatable就是被引用的表,和副本表一样。 |
-- 作者:有点蓝 -- 发布时间:2016/10/27 9:21:00 -- 差不多吧 |