代码:Private Function Tree_Show(SqlTree As String)
Dim rsTree As ADODB.Recordset
Dim key, text As String
Dim nod As Node, rootNode As NodeSet rsTree = New ADODB.Recordset
rsTree.Open SqlTree, conn, 1, 1, 1TreeView.Nodes.Clear
If rsTree.RecordCount > 0 Then
rsTree.MoveFirst
Do While rsTree.EOF = False
'写 TreeView 过程
......................
rsTree.MoveNext
Loop
Else
MsgBox "找不到相关数据?"
End If
End FunctionTree_Show "select * from client" 时一切正常
但
Tree_Show "select * from client where id link '*'"
就显示 "找不到相关数据?" 了 ,为什么 rsTree.RecordCount 不大 0 了 ?当然 select * from client where id link '*' 查询语言没有问题
也试过 Set rsTree = conn.Execute(SqlTree) 也不行
求解,谢谢
Dim rsTree As ADODB.Recordset
Dim key, text As String
Dim nod As Node, rootNode As NodeSet rsTree = New ADODB.Recordset
rsTree.Open SqlTree, conn, 1, 1, 1TreeView.Nodes.Clear
If rsTree.RecordCount > 0 Then
rsTree.MoveFirst
Do While rsTree.EOF = False
'写 TreeView 过程
......................
rsTree.MoveNext
Loop
Else
MsgBox "找不到相关数据?"
End If
End FunctionTree_Show "select * from client" 时一切正常
但
Tree_Show "select * from client where id link '*'"
就显示 "找不到相关数据?" 了 ,为什么 rsTree.RecordCount 不大 0 了 ?当然 select * from client where id link '*' 查询语言没有问题
也试过 Set rsTree = conn.Execute(SqlTree) 也不行
求解,谢谢
Tree_Show "select * from client where id link '*'"
这句的*号要实现什么功能?
select * from client where id like '*' 不是想实现什么功能,测试用的,就是这句查询用在这里 select * from client 正常
再 select * from client where ..... 后面什么都不正常了
把游标类型设为adOpenStatic就可以了。
Private Function Tree_Show(SqlTree As String)
Dim key, text As String
Dim nod As Node, rootNode As NodeSet rsTree = New ADODB.Recordset
'SqlTree = "SELECT * FROM client"
'rsTree.Open SqlTree, conn, adOpenStatic, adLockPessimistic, adCmdT
'Set rsTree = conn.Execute(SqlTree)
'rsTree.Open SqlTree, conn, 1, 1, 1
rsTree.Open SqlTree, conn, 1, 3TreeView.Nodes.Clear
Set rootNode = TreeView.Nodes.Add(, , "client", "客户")
Set rootNode = TreeView.Nodes.Add(, , "agent", "代理")If rsTree.RecordCount > 0 Then
rsTree.MoveFirst
Do While rsTree.EOF = False
If rsTree("client_type") = "直客" Then
key = Trim(rsTree("account")) & "@"
text = Trim(rsTree("name")) & "(" & Trim(rsTree("account")) & ")"
Set nod = TreeView.Nodes.Add("client", tvwChild, key, text)
End If
If rsTree("client_type") = "代理" Then
key = Trim(rsTree("account")) & "@"
text = Trim(rsTree("name")) & "(" & Trim(rsTree("account")) & ")"
Set nod = TreeView.Nodes.Add("agent", tvwChild, key, text)
End If
rsTree.MoveNext
Loop
Else
MsgBox "找不到相关客户"
End If
End FunctionPrivate Sub Form_Load()
Tree_Show "select * from client" '正常 select * from client where id like '*' 就不正常了Sub end
加下面这句
rsTree.CursorLocation = adUseClientrsTree.Open SqlTree, conn, 1, 1, 1
加下面这句
rsTree.CursorLocation = adUseClientrsTree.Open SqlTree,conn,adOpenKeyset,adLockReadOnly
在SQL SERVER 数据库中查询应该也是没有记录的!!!