C#连接Sqlserver数据库时,存在主外键关联的两表中的数据行如何删除!请求大家的帮助!

解决方案 »

  1.   

    这个先后没什么关系吧,你获取到主表跟子表关联的字段的值,然后保存到ViewState中,然后先删除主表或是子表中的对应的数据行又什么关系呢,你说可是?
      

  2.   

    作为外键暂且叫它主表吧,Delete from Main Where id=@id
    则要先删除子表当中 Delete from Detail where MainId = @id
    为了保证数据完整性,最好将上面的操作包含在一个事务中,如果两个语句影响的行数都大于零,则提交,否则回滚
      

  3.   

    建议在表的属性中设置级联删除,让sqlserver自己处理.自己做需要考虑事务处理
      

  4.   

    delete from exam372 where exam372.name in (select name from exam372_TEMP b )
    delete from exam372 a where EXISTS (select name from exam372_TEMP b where a.name=b.name)