如 亚洲- 中国-河南
   亚洲-俄罗斯-莫斯科
   美洲-美国-华盛顿
   美洲-    -
如果我想删除美洲这个菜单,如何判断美洲是否被引用?
  

解决方案 »

  1.   

    看你的数据库中表是如何设计的。可以查找美洲的子节点是否为0为0就是没引用selet count(*) from table where parentID=美洲的ID通过返回结果判断
      

  2.   

    [color=#FF0000]事务,从最底层开始删,删除失败后数据自动回滚,这样不会丢数据。 //执行事务处理 public void DoTran() {  //建立连接并打开  SqlConnection myConn=GetConn();  myConn.Open();  SqlCommand myComm=new SqlCommand();  //SqlTransaction myTran=new SqlTransaction();  //注意,SqlTransaction类无公开的构造函数  SqlTransaction myTran;  //创建一个事务  myTran=myConn.BeginTransaction();  try  {   //从此开始,基于该连接的数据操作都被认为是事务的一部分  //下面绑定连接和事务对象   myComm.Connection=myConn;   myComm.Transaction=myTran; //定位到pubs数据库   myComm.CommandText="USE pubs";   myComm.ExecuteNonQuery();//操作1   myComm.CommandText=""; //操作2   myComm.ExecuteNonQuery();    //提交事务   myTran.Commit();  }  catch(Exception err)  {   throw new ApplicationException("事务操作出错,系统信息:"+err.Message);   }  finally  {   myConn.Close();   } }