在SQL企业管理器我们可以:
DELETE FROM 表 WHERE 某字段=xx
一:
那么在DELEPHI里的ADOTADASET里我们要怎么写SQL语句呢?假设我们用DBGRID来显示要删除的记录。(我们不用ADOTADASET.delete)二:
  为什么不用ADOTADASET.delete呢,因为我想在删除着条记录后,把另外一张表的数据也一起删除,因为这个是个主记录,另外一张表有好几条记录是跟着他的,有了他才有另外一张表的记录,大家肯定很明白我的意思,帮我想想办法吧
要的效果如下:
表A:
    出厂编号    名称     装配日期
    1111        BMW760      2003-12-10
    2222        BMWX5       2003-12-15
    
表B:
   出厂编号     操作内容    操作者    操作工时
   1111          油漆        张三      5
   1111          绑金        李四      3
   2222          油漆        张三      4
   2222          绑金        李四      7
我如果删除了表A的  
  1111        BMW760      2003-12-10
这个记录,那么表B的
   1111          油漆        张三      5
   1111          绑金        李四      3
也要一起删除
因为我在写的时候用事物同时写进去的

解决方案 »

  1.   

    ADOQuery.SQL.add('delete from b where 出厂编号='+QuotedStr(ADOTADASET.FieldByName('出厂编号').AsString));
      

  2.   

    我是主表用了ADODATASET1,从表用了ADODATASET2!“QuotedStr”这是个函数吗?我没有用过,能不能给我解释一下!谢了
      

  3.   

    QuotedStr是给字符串加引号
    两个数据集关联删除最好包进事务
      

  4.   

    ADODataSet2.CommandText:='delete from s_nrdj where 出厂编号=' + QuotedStr(ADODataSet1.FieldByName('出厂编号').AsString)';
    可以这样吗?