以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]获取目录树节点报错! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=101555) |
-- 作者:静听枫雨 -- 发布时间:2017/6/2 15:50:00 -- [求助]获取目录树节点报错! 下面的代码,新建一个项目 不报错。在我项目 里添加,就报错。不知道是什么问题,新建一个项目使用的是内部表 db 我的项目使用的是外部表 Dingdan 内代码红色部份 If e.node.Level = 0 Then e.node.Expand ElseIf e.node.Level =1 Then Dim bmm As String = e.node.Name.Split("+")(0) DataTables("授权表").LoadFilter = "用户组=\'" & e.node.ParentNode.Name & "\' and bm =\'" & bmm & "\'" DataTables("授权表").Load() Dim zd As new Dictionary(of String,String) zd.Clear Dim ms As Integer = 0 For Each dr As DataRow In DataTables("授权表").dataRows If zd.ContainsKey(dr("lm"))=False Then zd.Add(dr("lm"),"1") End If If dr.IsNull("lm")=True Then ms +=1 End If Next If ms=0 Then Dim rw As DataRow = DataTables("授权表").AddNew rw("用户组") = e.node.ParentNode.Name rw("bm") = bmm rw.Save End If Dim ss As new List(of String) For Each cl As Col In Tables(bmm).Cols If zd.ContainsKey(cl.Name)=False Then If Connections.Count=0 Then Dim rw As DataRow = DataTables("授权表").AddNew rw("用户组") = e.node.ParentNode.Name rw("bm") = bmm rw("lm") = cl.Name Else ss.Add("(\'" & e.node.ParentNode.Name & "\',\'" & bmm & "\',\'" & cl.name & "\',0,0)") zd.Add(cl.Name,"1") End If End If Next Dim Arys() As String Arys=ss.ToArray() Dim ssj As String = String.Join(",",Arys) If ssj > "" Then Dim cmd As new SQLCommand cmd.ConnectionName = "Dingdan" cmd.CommandText = "Insert Into 授权表 (用户组,bm,lm,不可见,不可编辑) Values" & ssj cmd.ExecuteScalar output.show(ssj) DataTables("授权表").LoadFilter = "用户组=\'" & e.node.ParentNode.Name & "\' and bm =\'" & bmm & "\'" DataTables("授权表").Load() End If DataTables("授权表").save() For Each cl As Col In Tables(bmm).Cols Dim lmm As String = IIF(cl.Caption > "" ,cl.Caption,cl.Name) Dim bm2 As String = IIF(DataTables(bmm).Caption > "" ,DataTables(bmm).Caption,bmm) DataTables("授权表").ReplaceFor("列名",lmm,"lm=\'" & cl.Name & "\'") DataTables("授权表").ReplaceFor("表名",bm2,"bm=\'" & bmm & "\'") Next DataTables("授权表").AcceptChanges() End If 报错图片如下:
[此贴子已经被作者于2017/6/2 15:51:56编辑过]
|
-- 作者:有点色 -- 发布时间:2017/6/2 16:25:00 -- 弹出生成sql语句看看
Dim cmd As new SQLCommand cmd.ConnectionName = "Dingdan"
cmd.CommandText = "Insert Into 授权表 (用户组,bm,lm,不可见,不可编辑) Values" & ssj
msgbox(cmd.CommandText)
cmd.ExecuteScalar
|
-- 作者:有点色 -- 发布时间:2017/6/2 16:26:00 -- 同时,加入msgbox,定位一下你的错误位置。 |
-- 作者:静听枫雨 -- 发布时间:2017/6/2 16:36:00 -- 就是这个句代码错误 [此贴子已经被作者于2017/6/2 16:46:38编辑过]
|
-- 作者:有点色 -- 发布时间:2017/6/2 17:26:00 -- 改代码
If e.node.Level = 0 Then
|