首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

AdoQuery.delete 有关问题

2013-04-02 
AdoQuery.delete 问题sql语句为:select b.cs_name,b.is_yl,a.*from dz a left join cs b on a.cs_idb.id

AdoQuery.delete 问题
sql语句为:
select b.cs_name,b.is_yl,a.*  
from dz a 
left join cs b on a.cs_id=b.id 
where b.is_yl=1

cs 超市表(超市编号,超市名称 ,是否裕隆超市,.....)
dz 对账单表(单据编号,超市编号,对账金额......)
(表cs只是用来显示超市名称,并限制 只读取裕隆超市的对账单据)

执行adoquery.delete

我想删除dz表的记录,执行delete方法后,cs表的对应一条记录也被删除了,

请教高手 如何实现只删除表dz的记录

   adoquery delete left?join
[解决办法]
query对多表查询结果执行更改操作时不好控制, 没详细研究过.

你可以用一个query执行删除操作, 一个query执行查询操作
[解决办法]
查询连接的两个表在删除时,会同时删除连接表的相应记录。可以在BeforeDelete事件中写代码,用另一个ADOCommand执行删除记录的SQL语句,然后用Abort取消操作。
[解决办法]
没这么使过!
呵呵!
[解决办法]
早期用D7时,就是这样,后来,删除命令改成用SQL语句。D2010后面就没试过了,都是用SQL语句来删除了。不知D2010后有没有改进了。有时感觉ADO就是这样的。

[解决办法]
在adoquery的befordelete的过程加上

Q_E_sub.Recordset.Properties.Item['Unique Table'].Value:=tabname;

tabname为需要删除的表的表名。

热点排行