| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3354 人关注过本帖
标题:关于“添加”“删除”代码的问题?
只看楼主 加入收藏
chunhe
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-15
收藏
 问题点数:0 回复次数:8 
关于“添加”“删除”代码的问题?

参考书上的例子在我的表单中设置两个命令按钮:“添加”、“删除”
“添加”的CLICK代码:
SELECT skqk
*——插入新记录
APPEND BLANK
*——使用gcqk表的工程编号更新记录,以及更新skqk表的所属工程
REPLACE 所属工程 WITH gcqk.工程编号 IN skqk
SELECT gcqk
THISFORM.Refresh

运行结果是一单击“添加”就显示“触发器在skqk中失败”,没有添加新记录,为什么?


“删除”的CLICK代码:
*——确认对话框
#define c_delete1_loc "确定要删除"
#define c_delete2_loc "号收款记录吗?"
lcmessage=c_delete1_loc+ALLTRIM(STR(skqk.收款代码))+c_delete2_loc
*——如果确认
IF MESSAGEBOX(lcmessage,4+32,"路灯工程计划管理系统")=6
*——删除记录
SELECT skqk
DELETE
*——移动记录指针
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP-1
ENDIF
thisform.Refresh
ENDIF
书上的例子就可以彻底删除记录,为什么我用此删除功能只做删除标记,并没有彻底删除?
是因为书上的例子事先SET DELETED ON吗?那删除的记录只是看不见而已,并没有从表中删除,是这样吗?这样删除的记录多了,岂不是表中留有很多没用的记录?
我想有彻底删除记录的功能,也有标记删除和取消标记的功能。大家有没有这样的例子呢?

搜索更多相关主题的帖子: 添加”“删除 skqk 工程 代码 gcqk 
2007-08-27 09:19
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
添加,Insert Into skqk (所属工程) Values (gcqk.工程编号)
删除,Delete/Pack &&两行分开

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2007-08-27 11:32
chunhe
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-15
收藏
得分:0 
谢谢,回去试试!
2007-08-27 12:29
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
Delete:给符合条件的记录作删除标记。
Pack:彻底删除已有删除标记的记录。
Recall:对已作删除标记的记录去掉删除标记

两人行已有我师……
2007-08-27 15:57
天恩
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-30
收藏
得分:0 

还要注意:在属性datasession选项设置中选择:2-私有数据工作期。不然不能进行 pack 删除操作!也可以在退出系统时加一条PACK命令一次性删除已经做了删除标记的所有记录.

2007-08-28 09:56
chunhe
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-15
收藏
得分:0 
谢谢两位!
再请问,pack能否删除已有删除标记的记录中的一个记录呢?
是不是一般都做成这样呢?——系统 SET DELETE ON,删除只是DELETE
我原来想的是表单上的表格保留做删除标记的那个属性,所以用鼠标就可以做标记了,统计功能忽略已做标记的记录,浏览时我还能看到已做删除标记的记录,某条记录再也没用了就彻底删除。有实现这种功能的例子或思路吗?
2007-08-28 10:18
天恩
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-30
收藏
得分:0 

对需要保留还有价值的已作删除标记的记录可以试试一下思路:
1、将它们临时转移到备用表中,不含彻底删除的那条:
COPY TO 备用表 FOR DELE() AND RECN()# 彻底删除的那条记录号
PACK
APPE FROM 备用表 && 收回保留的记录

2、建议直接使用备用表处理已被删除的记录。
COPY TO 临时表 FOR RECN()= 欲删除的记录号
DELE FOR RECN()= 该记录号
PACK
SELE 备用表
APPE FROM 临时表 && 暂时保留。
SELE 1 && 返回原先的工作区

浏览和删除备用表的记录可以另外设置按钮或表单。

2007-08-30 15:09
chunhe
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-15
收藏
得分:0 

谢谢天恩,我周末回去试试!这几天比较忙,都没弄数据库。周末要赶上进度。

2007-08-31 09:32
花花公子
Rank: 4
等 级:贵宾
威 望:10
帖 子:609
专家分:0
注 册:2007-6-7
收藏
得分:0 
思路很重要

[glow=150,blue,2] 该珍惜的,好好把握;该舍去的,不再留恋; 该执著的,永不怨悔;该面对的,绝不逃避。[/glow]
2007-08-31 11:16
快速回复:关于“添加”“删除”代码的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017185 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved