在打上删除标记后,被删除的数据仍可以在GRID中看到。为什么?急

bjfifa 2004-10-20 09:44:42
在打上删除标记后,被删除的数据仍可以在GRID中看到。为什么?
在打开程序后直接用GRID表单查询,就可以看到被删除的数据。
而在先打开一个其它的表单,再打开GRID表单查询,就看不到查询的页面。不知道为什么?
请各位指教。
...全文
92 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfwxj 2004-10-20
  • 打赏
  • 举报
回复
楼上都是对的
LAIYANGPJ 2004-10-20
  • 打赏
  • 举报
回复
UP
bjfifa 2004-10-20
  • 打赏
  • 举报
回复
非常感谢,我试试。
十豆三 2004-10-20
  • 打赏
  • 举报
回复
-------请参考:-------

指定 Visual FoxPro 是否处理标有删除标记的记录,以及其他命令是否可以操作它们。

SET DELETED ON | OFF
参数
ON
使用范围子句处理记录(包括在相关表中的记录)的命令忽略标有删除标记的记录。
OFF
(默认值)使用范围子句处理记录(包括在相关表中的记录)的命令可以访问标有删除标记的记录。
备注
如果表索引是根据 DELETED( ) 命令建立的,那么,使用 DELETED( ) 测试记录状态的查询可以用 Rushmore 技术优化。

有关优化查询的详细内容,请参阅用 Rushmore 查询优化数据访问速度。

可以执行 DELETE - SQL 或 DELETE 命令标记要删除的记录,也可以在浏览窗口或编辑窗口中选择“表”菜单中的“删除记录...”命令标记要删除的记录。

可以执行 RECALL 命令恢复记录,也可以在浏览窗口或编辑窗口中选择“表”菜单中的“恢复记录...”命令恢复记录。

注意 如果默认的作用域是当前记录或者只含单个记录,SET DELETED 命令被忽略。IDEX 和 REINDEX 命令总是忽略 SET DELETED 命令,并且给表中所有记录建立索引。
SET DELETED 的作用域是当前数据工作期。
十豆三 2004-10-20
  • 打赏
  • 举报
回复
你在“打开一个其它表单”使用了
SET DELETED ON
所以“再打开GRID表单查询”看不到被删除的数据。

而“你打开程序后直接用GRID表单查询”时没有用
SET DELETED ON

解决方法:
在主程序中用:
SET DELETED ON
这样再执任意表单或程序时,都不会看到被删除的数据。

或者干脆删除时,就彻底删除数据(先DELETE、然后再PACK),这样你不管用不用
SET DELETED ON
数据都没有了。
YuyuanJian 2004-10-20
  • 打赏
  • 举报
回复
用一句set delete on
相关推荐
发帖
VFP

2577

社区成员

VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
帖子事件
创建了帖子
2004-10-20 09:44
社区公告
暂无公告