SqlDataSource的DeleteCommand,UpdateCommand都已设置好,RowDeleting,RowUpdating删除,更新,插入等都已实现
Sub productsGridView_RowDeleting(ByVal s As Object, ByVal e As GridViewDeleteEventArgs) Handles girdviewDept.RowDeleting
        SqlDataSource1.DeleteCommand = "delete from tblDepartment where dept_id = '" & girdviewDept.DataKeys(e.RowIndex).Value & "'"
        girdviewDept.DataBind()
End Sub
上面是实现删除一个部门,如何加个验证,如果删除的部门有下级部门,就提示不能删除?插入或更新也是一样,如果有相同名称的部门就提示插入或更新失败

解决方案 »

  1.   

    写个方法,去数据库里Select一下,如果找到下级部门返回一个True值,提示下用户
      

  2.   

    在数据表中建立约束,在RowUpdated事件处理程序中捕获删除失败返回的异常即可;
    又或者在更新之前先检索数据库看看有没有下级部门~
    这2个方法比较可靠~当然,如果在页面中取出了所有的部门,那么你可以直接在更新前(RowUpdateding)中判断,但是这仍然有不可靠的可能性,因为在某个用户取出数据后更新之前的这段时间里,有可能别人更改了部门
      

  3.   

    在数据表中建立约束,在RowUpdated事件处理程序中捕获删除失败返回的异常即可;
    又或者在更新之前先检索数据库看看有没有下级部门~
    这2个方法比较可靠~
    -----------------
    我想用select查一下,那我上面的代码要怎么改,谢谢