已知一个结点,读取下面所有结点
一、数据库表

二、代码
1
protected void Button1_Click(object sender, EventArgs e)2

{3
4
//会员编号5
long userId = System.DateTime.Now.Ticks;6
string introId = TextBox1.Text.Trim();7
int level = 0;8
int parentId = 0;9
//此会员应该是介绍会员的下一级,level=paraent+1;10
//用编号获取会员的主键和level11
string strSql = "select * from users where userid="+introId;12
SqlDataReader dr = SqlHelper.ExecuteReader(CommandType.Text,strSql,null);13
if (dr.Read())14

{15
level = int.Parse(dr["LevelId"].ToString());16
parentId = int.Parse(dr["pkid"].ToString());17
}18
dr.Close();19
level = level + 1;20
//添加21
userDB.AddUser(userId, parentId, level);22
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "AddUser", "alert('ok')", true);23
}24

25

/**//********************************************************26
* 获取会员所有下线27
* 1.给一会员的编号28
* 2.获取会员的id29
* 3.找parentid为id的会员30
* 31
* 递归调用32
* ************************************************************/33
void GetUsers()34

{35
int parentId=0;36
string strSql = "select * from users where userid=666666";37
SqlDataReader dr = SqlHelper.ExecuteReader(CommandType.Text, strSql, null);38
if (dr.Read())39

{40
parentId = int.Parse(dr["pkid"].ToString());41
}42
dr.Close();43

44
GetListByParentId(parentId);45
}46

47
private void GetListByParentId(int parentId)48

{49
string strSql2 = "select * from users where ParentId=" + parentId.ToString();50

51
SqlDataReader dr2 = SqlHelper.ExecuteReader(CommandType.Text, strSql2, null);52
53
while (dr2.Read())54

{55
ListBox1.Items.Add(dr2["userid"].ToString());56
GetListByParentId(int.Parse(dr2["pkId"].ToString()));//递归调用57
}58
59
dr2.Close();60
}61
protected void Button2_Click(object sender, EventArgs e)62

{63
GetUsers();64
}
人的一生应该这样度过:当他回首往事的时候,不会因为虚度年华而悔恨,也不会因为碌碌无为而羞愧。
浙公网安备 33010602011771号