Foxtable(狐表)用户栏目专家坐堂 → [讨论]论伪删除的实现意义


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

主题:[讨论]论伪删除的实现意义

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/31 8:22:00 [显示全部帖子]

我早接触的DBaseⅣ数据库就是这样子,感觉还不错。对于大量数据在某些时候可能会不好使。

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/31 10:43:00 [显示全部帖子]

以下是引用lxl在2010-7-31 9:29:00的发言:

自己添加一个字段 IsDelete,然后修改自己的SQL语句就可以了。不需要Foxtable额外的支持。

 

如果让Foxtable内嵌无数特殊功能,他会越来越臃肿。

比如需要支持插入行,内部表增加了一个隐藏列。 需要支持锁定,内部表增加了一个隐藏列。  现在需要增加伪删除,又要增加一个隐藏列。

这样下去,内部表就有一大堆隐藏列,这对不需要这些功能的用户来说是不公平的。

即使有些用户需要这个功能,但也不是每个表都需要这些隐藏列。

 

如果利用这种机制实现伪删除显然是不经济的


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/31 15:19:00 [显示全部帖子]

如果就按一楼的做法,伪删除就是过滤掉标识列YN=False的列,在目前的FoxTable中就要适时地重新加载这个表

 

大家看看是否愿意这样。


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/31 16:52:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-7-31 16:31:00的发言:
呵呵,确实,foxtable实现是很容易的,我要做的只是将的说明重新加入帮助。

伪删除是需要管到DataTable层面,Remove方法好像是针对Table层面,对于普通的统计有效,高端的统计就会出问题。


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/31 18:30:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-7-31 16:56:00的发言:

呵呵,DataRows和DataRow都有Remove方法的

帮助中没见到?

 


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/31 19:40:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-7-31 18:40:00的发言:

觉得用不着,所以帮助删除了这部分,以后加上。

好好!


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/8/1 18:16:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-8-1 8:55:00的发言:
 

Remove

移除行。

例如移除订单表的第一行:

DataTables("订单").DataRows(0).Remove()

移除和删除是不同的,移除只是使得表中暂时不再包括该行,就像该行从来没有被加载过一样;不管你是否保存文件,下次打开后,被移除的行还会出现。

我注意到帮助中已经加上了,呵呵


 回到顶部