Hi all,

I am trying to grab data from the database that this application is connecting to and then show entries in a treeview.

public void dbcall() 
        { 
            SqlConnection sqlconn = new SqlConnection("user id=USERNAME;" + "password=PASSWORD;server=SERVER;" + "database=DBNAME;" + "connection timeout=30"); 
            SqlCommand select = new SqlCommand("SELECT * from MAIN", sqlconn); 
            sqlconn.Open(); 
            SqlDataReader reader = select.ExecuteReader(); 
            DataSet ds = new DataSet(); 
            DataTable dt = new DataTable("MainTable"); 
            ds.Tables.Add(dt); 
            ds.Load(reader, LoadOption.PreserveChanges, ds.Tables[0]); 
 
            sqlconn.Close(); 
 
            foreach (DataRow dr in dt.Rows) 
            { 
 
                //////////// 
 
 
 
            } 
 
        }

The data that I am getting out of the database looks like this:


ID Hostname Username Software
1 host1 user1 sw1
2 host1 user1 sw2
3 host1 user1 sw3
4 host1 user1 sw4
5 host5 user5 sw1
6 host5 user5 sw2
7 host5 user5 sw3
8 host5 user5 sw5
9 host9 user9 sw1
10 host10 user10 sw1


I need the data to be displayed in the tree as follows, though nothing that I have done so far has been able to do it:

host1>user1>sw1
sw2
sw3
sw4
host5>user5>sw1
sw2
sw3
sw5

Any help with this would be appreciated. Thanks in advance.

Not sure what part you have trouble with.
The concept would be loop through the results and add unique hosts to a list or hashtable and add the user to a list and each software to a list.
Then loop through the hosts, for each user in the host, for each user get software.

Create a tree node for each host, user, and software
set the child nodes of user equal to software, child nodes of host to user

Not sure what part you have trouble with.
The concept would be loop through the results and add unique hosts to a list or hashtable and add the user to a list and each software to a list.
Then loop through the hosts, for each user in the host, for each user get software.

Create a tree node for each host, user, and software
set the child nodes of user equal to software, child nodes of host to user

Hi,

I know what it needs to do, just can't get it to act that way. I couldn't figure out how to get the individual hosts listed and then the users, then the software as children.

The closest I've gotten is a list of all entries, so in reality about 200 of the same host with different users and software.

Any ideas?

This article has been dead for over six months. Start a new discussion instead.