Foxtable(狐表)用户栏目专家坐堂 → [求助] 关递归函数变量传递的问题


  共有2296人关注过本帖树形打印复制链接

主题:[求助] 关递归函数变量传递的问题

帅哥哟,离线,有人找我吗?
2900819580
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1345 积分:9797 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助] 关递归函数变量传递的问题  发帖心情 Post By:2018/9/9 10:36:00 [只看该作者]

Dim cmd As new SQLCommand
Dim Sqldt As DataTable
cmd.C
cmd.CommandText = "Sel ect * From {部门} Where [上级部门] = '" & args(0) & "'"

Dim lm As String = args(1)
Sqldt = cmd.ExecuteReader

If Sqldt.DataRows.Count > 0  Then
    For Each dr As DataRow In sqldt.DataRows

        If lm > "" Then LM &= "|"
        lm &= dr("部门名称")
        Dim val As Integer
        cmd.CommandText = "Sele ct Count(*) From {部门} Where [上级部门] = '" & dr("部门名称") & "'"
        val  = cmd.ExecuteScalar()
        If val > 0 Then Functions.Execute("部门查找递归",dr("部门名称"),lm)
    Next
End If
Return lm


MessageBox.Show(Functions.Execute("部门查找递归","总裁办","总裁办"))
代码如上,红色字运行后得到的LM变量,没办法传递回原来的LM变量

如总裁办下属有生产部|销售部|财务部,生产部下属有工程部, 最终得到的结果只有生产部|销售部|财务部,而不是生产部|销售部|财务部|工程部

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/9 10:50:00 [只看该作者]

用一个全局变量 lm 记录你的值,不要用return的值

 

http://www.foxtable.com/webhelp/scr/1450.htm

 


 回到顶部