我想做一个树的递归删除!(求教)

sunrisewhen 2003-08-20 10:22:29
不能用SQL SERVER 触发器、存储过程和函数做一个树的递归删除?
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunrisewhen 2003-08-21
  • 打赏
  • 举报
回复
不能用SQL SERVER的触发器、存储过程和函数和任何控件做一个树的递归删除?
yuanylong 2003-08-21
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2093/2093882.xml?temp=5.254763E-02
sunrisewhen 2003-08-21
  • 打赏
  • 举报
回复
用SQL语句如何Delete一棵树
我的表是这样样的
CREATE TABLE T_Menu(
MenuID //菜单ID
ParentMenuID //父菜单ID
MenuCaption
IconName
MenuURL)
我想把一级菜单Delete掉,下级菜单也要Delete掉
请问各位高手如何Delete?
雪狼1234567 2003-08-20
  • 打赏
  • 举报
回复
如果你想删除全部树,那么就去数据库中用delete from talbe 好啦,
如果实在想一个一个的访问,看下面的代码:
为了对节点值执行某种运算,查看 Windows 窗体 TreeView 控件中的每个节点有时很有用。利用递归过程(C# 中为递归方法)可完成此操作,该过程循环访问每个树集合中的每个节点。

树视图中的每个 TreeNode 对象具有可用于定位树视图的属性:FirstNode、LastNode、NextNode、PrevNode 和 Parent。Parent 属性值是当前节点的父节点。当前节点如果有子节点,则列在它的 Nodes 属性中。TreeView 控件本身具有 TopNode 属性,该属性是整个树视图的根节点。

循环访问 TreeView 控件的所有节点

创建测试每个节点的递归过程(C# 中为递归方法)。
调用该过程。
下例显示如何打印每个 TreeNode 对象的 Text 属性:

' Visual Basic
Private Sub PrintRecursive(ByVal n As TreeNode)
System.Diagnostics.Debug.WriteLine(n.Text)
MessageBox.Show(n.Text)
Dim aNode As TreeNode
For Each aNode In n.Nodes
PrintRecursive(aNode)
Next
End Sub

' Call the procedure using the top nodes of the treeview.
Private Sub CallRecursive(ByVal aTreeView As TreeView)
Dim n As TreeNode
For Each n In aTreeView.Nodes
PrintRecursive(n)
Next
End Sub

// C#
private void PrintRecursive(TreeNode treeNode)
{
// Print the node.
System.Diagnostics.Debug.WriteLine(treeNode.Text);
MessageBox.Show(treeNode.Text);
// Print each node recursively.
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}

// Call the procedure using the TreeView.
private void CallRecursive(TreeView treeView)
{
// Print each node recursively.
TreeNodeCollection nodes = treeView.Nodes;
foreach (TreeNode n in nodes)
{
PrintRecursive(n);
}
}

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧