以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]递归函数获取另一个表数据问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90294)

--  作者:188802386
--  发布时间: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,因为它不可比。


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


--  作者:有点蓝
--  发布时间:2016/9/9 12:05:00
--  
提示很明显了,cmd.CommandText = "SELECT DISTINCT * Fr om {员工管理}"

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

--  作者:有点蓝
--  发布时间:2016/9/9 12:05:00
--  
或者SELECT DISTINCT 列1,列2 Fr om {员工管理},排除ntext字段