做了个递归寻找父ID,不知为什么找不出来

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:42:10
Cid Father
1 0
2 1
3 1
4 1
5 1
6 1
7 1
8 0
9 8
10 8
11 8
12 8
13 8
14 8
15 8
16 8
17 0
18 17
19 17
20 17
21 17
22 18
23 18
24 0
25 24
26 24
27 24
28 24
29 0
30 29
31 29
32 29
33 29
34 29
35 0
36 35
37 0
38 37
39 0
40 0
41 39
42 39
43 39
44 39
45 39
46 39
47 0
48 47
49 47
50 47
51 47
52 47
53 22
54 22
55 22
56 22
57 25
58 25
59 35
60 35
61 40
62 0
63 62
64 0
65 64
66 64
67 64
68 64
69 64
70 64
71 64
72 0
73 72
74 72
75 72
76 72
77 72
78 72
79 72
80 72
81 72
82 72
83 0
84 83
85 0
86 85
87 85
88 85
89 85
90 85
91 0
92 91
93 91

Function GetFidRoot(Cid)
Dim Sql,Rst1
Sql="Select Cid,Father FROM [newsclass_t] WHERE Cid=" & Cid
Set Rst1= Server.CreateObject("Adodb.Recordset")
Rst1.Open Sql,Conn,1,1
If Not (rst1.Eof And rst1.Bof) Then
If rst1(1)=0 then
GetFidRoot = rst1(0)
Else
GetFidRoot=GetFidRoot(rst1(1))''原来我在这也错了,应该是用父ID来找的
End If
Else
GetFidRoot = Cid '找不到上级
End If

Rst1.Close ''移到后面关闭
Set Rst1=Nothing
End Function

注:已测试通过!