Foxtable(狐表)用户栏目专家坐堂 → [求助]递归函数获取另一个表数据问题


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

主题:[求助]递归函数获取另一个表数据问题

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助]递归函数获取另一个表数据问题  发帖心情 Post By:2016/9/9 10:29:00 [只看该作者]

窗口与控件事件

 

用户管理_AfterLoad

 

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim nd As WinForm.TreeNode

Dim dt As DataTable = DataTables("部门管理")

tr.StopRedraw()

tr.Nodes.Clear

tr.Nodes.Add("全部")

For Each dr As DataRow In dt.datarows

     If dr.IsNull("部门所属") Then

        nd = tr.Nodes.Add(dr("部门名称"),dr("部门名称"))

        Functions.Execute("AddChildren",nd,dt)

    End If

Next

tr.ResumeRedraw()

 

 

用户管理_TreeView1_NodeMouseDoubleClick

 

'分页加载

Dim cmd As New SQLCommand

Dim dt As DataTable

cmd.Cfont-family: 宋体; font-size: 9pt;">

cmd.CommandText = "SELECT DISTINCT * Fr om {员工管理}"

dt = cmd.ExecuteReader()

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim key As String = e.Node.Name

Dim ids As String

If key = "全部" Then

    Tables("用户管理").Filter = ""

Else

    For Each nd As WinForm.TreeNode In trv.AllNodes

        Dim pd As WinForm.TreeNode = nd

        Do

            If pd.Name = key Then

                If ids > "" Then

                    ids= ids &  ","

                End If

                ids = ids & "'" & nd.name & "'"

                Exit Do

            Else

                pd = pd.ParentNode

                If pd Is Nothing Then

                    Exit Do

                End If

            End If

        Loop

    Next

    Tables("用户管理").Filter = "部门名称 In (" & ids & ")"

End If


我是用的部门管理表获取递归目录树,然后双击节点获取用户管理表节点的行,就提示

ntext 数据类型不能选为 DISTINCT,因为它不可比。

ntext 数据类型不能选为 DISTINCT,因为它不可比。

ntext 数据类型不能选为 DISTINCT,因为它不可比。

ntext 数据类型不能选为 DISTINCT,因为它不可比。

ntext 数据类型不能选为 DISTINCT,因为它不可比。

ntext 数据类型不能选为 DISTINCT,因为它不可比。


但仿佛获取到的数据是已经加载进来的数据,没有加载进来的就获取不到,但每次双击节点就弹出提示框,但已经加载的数据却又可以筛选出来,不知问题出在哪里了


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/9 12:05:00 [只看该作者]

提示很明显了,cmd.CommandText = "SELECT DISTINCT * Fr om {员工管理}"

DISTINCT不支持ntext 数据类型,相关字段改为nvarchar

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/9 12:05:00 [只看该作者]

或者SELECT DISTINCT 列1,列2 Fr om {员工管理},排除ntext字段

 回到顶部