三层中的主细表问题。delphi5+db2 7.1

jiezhi 2003-02-19 11:23:43
在三层结构中的主细表,我想用户选择了单据后自动插入明细,如果已经有了明细则先删除,代码如下:
procedure TFRM_DBCK.CDS_DBCKAfterPost(DataSet: TDataSet);
begin
//如果单据编号不为空,则根据该调拨申请单自动生成明细
if CDS_DBCK.FieldByName('djbh').AsString <> '' then
begin
with cds_temp do
begin

//如果有明细,则删除所有明细
if CDS_CKDMX.RecordCount > 0 then
begin
Close;
CommandText := 'delete from t_ckdmx where ckdid=''' + CDS_DBCK.FieldByName('ckdid').AsString + '''';
Execute;
end;

Close;
CommandText := 'select * from t_ckdmx'
+ ' where ckdid=''' + CDS_DBCK.FieldByName('djbh').AsString + '''';
Open;
First;
while not Eof do
begin
CDS_CKDMX.Insert;
CDS_CKDMX.FieldByName('wlbh').AsString := fieldbyname('wlbh').AsString;
CDS_CKDMX.FieldByName('pub_sx').AsString := fieldbyname('pub_sx').AsString;
CDS_CKDMX.FieldByName('thsl').AsFloat := fieldbyname('thsl').AsFloat;
CDS_CKDMX.FieldByName('sfsl').AsFloat := fieldbyname('sfsl').AsFloat;
CDS_CKDMX.FieldByName('jldw').AsString := fieldbyname('jldw').AsString;
CDS_CKDMX.FieldByName('zhgx').AsFloat := fieldbyname('zhgx').AsFloat;
CDS_DBCK.ApplyUpdates(0);
Next;
end;
end;
end;
end;
但对同一主记录反复选单据的过程中,明细在不断的增加,而跟踪时发现delete也执行了,这是怎么回事?请大家指点。
...全文
47 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiezhi 2003-02-25
  • 打赏
  • 举报
回复
大家怎么不回答呢?
NiuNiuTZ 2003-02-25
  • 打赏
  • 举报
回复
up
jiezhi 2003-02-21
  • 打赏
  • 举报
回复
cg1120怎么不来看看
jiezhi 2003-02-20
  • 打赏
  • 举报
回复
我的删除语句没有问题。
我也仔细跟踪了,但发现虽然执行了delete的sql语句,但记录并没有删除。
大侠点拨一下吧!
jiezhi 2003-02-20
  • 打赏
  • 举报
回复
up
weitao999 2003-02-20
  • 打赏
  • 举报
回复
自己仔细跟踪吧!
jiezhi 2003-02-19
  • 打赏
  • 举报
回复
我是想删除当前主表记录的明细记录,所以肯定是
'delete from t_ckdmx where ckdid='''+CDS_DBCK.FieldByName(ckdid).asstring+'''';
weitao999 2003-02-19
  • 打赏
  • 举报
回复
呵呵,楼上说的对!
应是
CommandText := 'delete from t_ckdmx where ckdid=''' + CDS_DBCK.FieldByName('djbh//而非ckdid吧').AsString + '''';
bluemeteor 2003-02-19
  • 打赏
  • 举报
回复
你的意思是明细没有删除而是递增了是么?

看看where ckdid=''' + CDS_DBCK.FieldByName('ckdid').AsString + ''''

这个条件和你数据表里的相符么?你的程序我看不出错误来,我想还是SQL语言的问题吧:)
jiezhi 2003-02-19
  • 打赏
  • 举报
回复
怎么没有人回答啊???

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧