起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 149|回复: 3

【结贴】[问题] 在数据集的BeforeDelete执行delete语句问题

[复制链接]
发表于 2008-7-2 09:33:03 | 显示全部楼层 |阅读模式
我在一个数据集的BeforeDelete想删除其他表的记录,但跟踪调试后发现代码都被执行了,但相应的记录却没有被删除。我把代码单独放在button事件执行结果相应的记录被正确删除了。所有想是不是受数据集的处理机制影响了。(注:query里面的sql语句是正确的,条件也是正确的。)

代码如下,请各位大牛帮分析下。 谢谢!

procedure TXX_BDSBQXCLD.DataSetSJJ_BDSBQXCLDBeforeDelete(DataSet: TDataSet);
var
   strQuerySql : string;
   lQuery : Business.Data.TQuery;
   SBQXGUID : string;
   currentHandle : TTransactionHandle;
begin
     //删除相应的记录
     lQuery := Business.Data.TQuery.Create(nil);
     with lQuery do
     begin
          try
             SBQXGUID := DataSet.FieldByName('QXGUID').AsString;

             ConnectionString := '数据库连接';
             currentHandle := Connection.Transaction.Start(false);

             strQuerySql := '';
             strQuerySql := 'delete table1 where SBQXGUID = ''' + SBQXGUID + '''';

             CommandText := strQuerySql;
             Execute;
             Connection.Transaction.Commit(currentHandle);
          except
                Connection .Transaction.Rollback (currentHandle);
          end;

          Free;
     end;
end;
回复

使用道具 举报

发表于 2008-7-2 10:29:18 | 显示全部楼层
不要放到 BeforeDelete 而放到数据导航的 BeforeAction 参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=9279
回复 支持 反对

使用道具 举报

发表于 2008-7-8 15:15:45 | 显示全部楼层
楼主问题解决了么?
回复 支持 反对

使用道具 举报

发表于 2008-8-5 09:24:38 | 显示全部楼层
楼主,还有问题不?没问题就结贴了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 08:27 , Processed in 0.036674 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表