TreeView1.SelectedItem.Key 单击节点
得到 keyID(char) 而不是 ID(int) 是怎么回事,老孙?
我得表设计的是int
sql2 = "select * from tbTree where parentID= " & TreeView1.SelectedItem.Key
这是整个一句
-----------------------------
请各位大侠指点
得到 keyID(char) 而不是 ID(int) 是怎么回事,老孙?
我得表设计的是int
sql2 = "select * from tbTree where parentID= " & TreeView1.SelectedItem.Key
这是整个一句
-----------------------------
请各位大侠指点
这样写也不会报错的。也可以查到数据。
要么就这样。
sql2 = "select * from tbTree where parentID= " & cint(TreeView1.SelectedItem.Key)
比如点击第一个父节点,MSHFlexGrid1记录如下图treeview
父节点(1)
子节点
子节点
子节点
子节点
子节点
子节点
父节点
子节点
子节点
子节点
父节点
子节点
子节点
子节点
------------------------------------------
MSHFlexGrid1
id context parentID depth
. . 1 .
. . 1 .
. . 1 .
. . 1 .
. . 1 .
. . 1 .
----------------------------------
TreeView1_nodeclick里面这么写的:sql2 = "select * from tbTree where ID='" & node.Key & "'"
MyDelUser.rsDK1 sql2
Set MSHFlexGrid1.DataSource = MyDelUser.rs1
MSHFlexGrid1.FormatString = "|id |context |parentID |depth|"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++可是每次单击 node 的时候报 "数据类型 varchar 转换成 bigint 时出错",如果
sql2 = "select * from tbTree where ID='" & node.Key
这样写,就会报列名 key1 无效(比如我现在单击编号是一的父节点
-----------------------------------
感谢各位高手!
那么首先你要把你的KEY属性做规范一点,这样才方便简化程序。如你的node.key属性赋值为
key01
key0101
key0102
key02
key0201
............那么你只要取mid(node.key,4)做为条件就可以了,即sql2 = "select * from tbTree where ID=" &
mid(node.Key ,4)
如果不是那么规范就要写个过程来取得ID部分