以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]select 的一个写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110185)

--  作者:blsu33
--  发布时间:2017/11/28 14:42:00
--  [求助]select 的一个写法
老师,
  突然不会写
Dim dr As DataRow= args(0)
Dim drs As List (of DataRow)=dt.Select("id like \'"& dr("id") &"%\' And id <> \'"& dr("id") &"\'","id") \'按代码顺序添加



DR 构成 是 
ID 列

希望select 增加一个条件 id 的列的长度=dr(“id”).Length+2

dt.Select([id].Length=dr(“id”).Length+2)  这个意思怎么写?
即只选择 dr(“id”).Length+2 的行怎么写。
[此贴子已经被作者于2017/11/28 14:48:40编辑过]

--  作者:blsu33
--  发布时间:2017/11/28 14:49:00
--  
老师,
  Dim drs As List (of DataRow)=dt.Select("id like \'"& dr("id") &"??\' And id <> \'"& dr("id") &"\'","id") \'按代码顺序添加  这样写是否可以?

--  作者:有点甜
--  发布时间:2017/11/28 15:01:00
--  

 

Dim drs As List (of DataRow)=dt.Select("id like \'"& dr("id") &"%\' And len(id) = " & dr(id).length+2 & " And id <> \'"& dr("id") &"\'","id") \'按代码顺序添加


--  作者:blsu33
--  发布时间:2017/11/28 15:15:00
--  
劳烦老师给看下,窗口2判断末级,怎么判定?


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 - 副本 (2).foxdb


[此贴子已经被作者于2017/11/28 15:16:41编辑过]

--  作者:有点甜
--  发布时间:2017/11/28 16:27:00
--  
Dim e= args(0)
Dim dr As DataRow= args(1)
Dim dt As DataTable=DataTables("cheshi")
Dim gz As String= "22222222"
Dim drs As List (of DataRow)=dt.Select("id like \'"& dr("id") &"%\' And len(id) = \'" & dr("id").length+2 & "\' And id <> \'"& dr("id") &"\'","id") \'按代码顺序添加
If drs.count > 0 Then
    For Each dr1 As DataRow In drs
        If dr1("id").Length=dr("id").Length+2 Then
            Dim dr2 As DataRow=dr.DataTable.AddNew()
            dr2("id")=dr1("id")
            dr2("idname")=dr1("idname")
            dr2("BOM级次")=dr("BOM级次")+1
            Functions.Execute("Addnode",e,dr2)
        End If
    Next
Else
    dr("末级")=True
End If

--  作者:blsu33
--  发布时间:2017/11/28 16:37:00
--  
老师,
  多问一句,递归做了父键 子键 还有这款 一列生成的,这两种方式 有啥区别呢 ?用途一样吗?

--  作者:有点甜
--  发布时间:2017/11/28 17:31:00
--  

 没有区别,哪种适合你就用哪种。