关联表与删除行

假定订单表和订单明细表通过订单编号建立了关联,通常在建立关联的时候,我们会选择选项“同步删除关联行”,这样在删除某个订单的时候,会同步删除此订单的所有订单明细,防止出现孤立的订单明细。
显然如果我们误删除了某订单,那么该订单的所有订单明细也会被误删除,增加了恢复此订单的难度。
所以最好的方式是在删除某个订单之前,先判断此订单是否存在订单明细,如果存在的话,就给用户以提示,如果不存在,就直接删除:

为此可以将订单表的BeforeDeleteDataRow事件代码设置为:

If e.DataRow.GetChildRows("订单 明细").Count > 0 Then
    Dim s As String = "此订单存在订单明细, 是否确定要删除此订单及其订单明细?"
   
If MessageBox.Show(s,"提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.No
        e.Cancel=
True
   
End If
End
If


本页地址:http://www.foxtable.com/webhelp/topics/2238.htm