With standard HTML select lists there are two ways to display hierarchy:
1. If root nodes are not selectable, you can use optgroup elements. Unfortunately, ASP.NET DropDownList does not support optgroups.
2. If root nodes are selectable, use whitespace to indent child nodes
Easiest way is to use the depth value in your resultset as:
DropDownList ddl = new DropDownList();
while (rs.Read())
{
string id = rs.GetGuid(0).ToString();
int depth = rs.GetInt32(3);
string text = rs.GetString(2);
string padding = String.Concat(Enumerable.Repeat(" ", 4 * depth));
ddl.Items.Add(new ListItem(padding + text, id));
}