我有两个关联的表,一个表包bas括ID,Name,NO...,另一个表ca包括,NO,Cap。它们通过NO关联。
我用ADODC将它们合放在一个DataGrid的中显示出来。我在ADODC中用Sql语句是:select a.ID, a.Name, a.NO b.Cap from bas a, ca b where a.NO=b.NO
在DataGrid中显示没有问题,但是我要是想删bas中除选中的记录时,不仅bas表中的记录删除了,而且ca表中对应bas表的相关记录也给删除了
这怎么办啊?是不是应该用sql语句来写删除命令啊?应该怎么写啊?多谢了啊!

解决方案 »

  1.   

    这怎么办啊?是不是应该用sql语句来写删除命令啊?应该怎么写啊?如果是关联..只能用SQL删除.
    但是.删除后要刷新表格..
    DELETE * FROM A WHERE A.NO='ASDFA'
      

  2.   

    相互關聯當然刪除了,你用sql可以隨便寫
      

  3.   

    两个表之间是建立了级联,是不是不建立就好了啊?
    还有我想问问vb中用运sql语句的语法,谢谢
      

  4.   

    delete from bas where A.NO='ASDFA'
      

  5.   

    你可以认为vb中执行的是一个sql字符串
    字符串的拼接用 “&” 或 "+"
      

  6.   

    我建议你在数据库中取消所有关联.
    取值时用JOIN代码关联更易操作.
      

  7.   

    取消所有关联.如果是删除,在VB里可以这样用:conn.execute “delete from bas ”
      

  8.   

    CALG(紫怡) 说的不错
    用JOIN然后用程序控制就可以了
      

  9.   

    上面的方法都不错,用JOIN相对来说简单些
      

  10.   

    我用了left join了,记录的输入和修改都没问题,但是删除时候还是有问题,报错说:缺少更新或刷新的键列信息!
    这怎么回事儿啊?删除的语句是:Rs.delete
      

  11.   

    两个表关联了当然一起删除了!
    delete from bas where A.NO='ASDFA'