删除问题 code fcode2 13 24 25 37 5当我选择了第一条记录时,怎么把它的节点全部删除 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库是什么?SQL的话有点麻烦,oracle的话很好办 oracle:Delete from t1 where code in (SELECT code from t1 START WITH t1.code = 2 CONNECT BY PRIOR t1.code = t1.fcode) 但是SQL中没有这样的语法,所以只好自己去做一个树的遍历了,用存储过程也可以,用代码生成SQL也可以 给你一个通过递归删除树形节点的例子:供参考://通过递归删除所选组织及其所有下级组织的信息 private void DelSelOrgAndAllChildren(TreeNode nodSelected) { if(nodSelected.Nodes.Count > 0) { foreach(TreeNode nodChild in nodSelected.Nodes) { //递归调用删除所有的下级组织信息 DelSelOrgAndAllChildren(nodChild); } } strSql = "Delete T_Organization Where F_OrgID = '" + nodSelected.ID.Trim() + "'"; try { string strOrgID = nodSelected.ID.Trim(); cmdDB = new SqlCommand(strSql,connDB); cmdDB.Transaction = tran; cmdDB.ExecuteNonQuery(); string sSqlP = "Delete T_AIU Where F_OrgID = '" + strOrgID + "'"; SqlCommand cmdP = new SqlCommand(sSqlP,connDB); cmdP.Transaction = tran; cmdP.ExecuteNonQuery(); } catch { intErr = 1; } }private void lbtDelTop_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e) { if(e.CommandName == "DelTop" || e.CommandName == "DelBottom") { if(tvwOrg.Nodes.Count == 0) { return; } else { TreeNode nodSel = tvwOrg.GetNodeFromIndex(tvwOrg.SelectedNodeIndex); string sConn = ConfigurationSettings.AppSettings["NCMT"]; connDB = new SqlConnection(sConn); connDB.Open(); tran = connDB.BeginTransaction(); DelSelOrgAndAllChildren(nodSel); if(intErr != 1) { //提交事务 tran.Commit(); //刷新组织树形图 Response.Write("<script language=javascript>parent.OrgTree.location.href='OrgTree.aspx'</script>"); } else { //回滚事务 tran.Rollback(); intErr = 0; } connDB.Close(); } } } 使用Eval内资料的差异? 关于一个常用的问题,希望高手指教 关于新建一个类 获取web窗体上若干控件的属性值,大家教我 什么叫“独占方式” 有关注入式攻击,请教!! 在ASP.NET里面 怎么判断一个文件已经存在你的硬盘上 技术解决,RMB相送!在线等待,谢谢! 怎样把word文件上传到sql server数据库中,并且能够下载 新手再问一个简单问题(2) 各位大侠救命啊!!!关于Coalesys PanelBar for ASP.NET的问题! 如何学习asp.net?来就有分
Delete from t1 where code in (SELECT code from t1 START WITH t1.code = 2 CONNECT BY PRIOR t1.code = t1.fcode)
private void DelSelOrgAndAllChildren(TreeNode nodSelected)
{
if(nodSelected.Nodes.Count > 0)
{
foreach(TreeNode nodChild in nodSelected.Nodes)
{
//递归调用删除所有的下级组织信息
DelSelOrgAndAllChildren(nodChild);
}
}
strSql = "Delete T_Organization Where F_OrgID = '" + nodSelected.ID.Trim() + "'";
try
{
string strOrgID = nodSelected.ID.Trim(); cmdDB = new SqlCommand(strSql,connDB);
cmdDB.Transaction = tran;
cmdDB.ExecuteNonQuery(); string sSqlP = "Delete T_AIU Where F_OrgID = '" + strOrgID + "'";
SqlCommand cmdP = new SqlCommand(sSqlP,connDB);
cmdP.Transaction = tran;
cmdP.ExecuteNonQuery();
}
catch
{
intErr = 1;
}
}
private void lbtDelTop_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
if(e.CommandName == "DelTop" || e.CommandName == "DelBottom")
{
if(tvwOrg.Nodes.Count == 0)
{
return;
}
else
{
TreeNode nodSel = tvwOrg.GetNodeFromIndex(tvwOrg.SelectedNodeIndex); string sConn = ConfigurationSettings.AppSettings["NCMT"];
connDB = new SqlConnection(sConn); connDB.Open();
tran = connDB.BeginTransaction(); DelSelOrgAndAllChildren(nodSel); if(intErr != 1)
{
//提交事务
tran.Commit();
//刷新组织树形图
Response.Write("<script language=javascript>parent.OrgTree.location.href='OrgTree.aspx'</script>");
}
else
{
//回滚事务
tran.Rollback();
intErr = 0;
} connDB.Close();
}
}
}