المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : binding tree view with sql databases and tables



C# Programming
03-28-2009, 05:50 PM
hi
i want to load my tree of a c# windows based form with all sql server 2005
databases and tables but whenever i call my function to load tables my all databases disappeared and only the tables of master database comes
please help me its very urgent im posting my code under

// it will load databases and tables

public void LoadSQL_DB(TreeNode DB)
{
TreeNode treenode;
SqlCon = new SqlConnection("Data Source= Localhost; Integrated security=True;database=master");
SqlCon.Open();
SqlCom = new SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "sp_databases";
SqlDR = SqlCom.ExecuteReader();
int count = 0;

while (SqlDR.Read())
{

treenode = new TreeNode();
treenode.Text = SqlDR.GetString(0);
DB.Nodes[0].Nodes.Add(treenode);


DB.Nodes[0].Nodes[DB.Nodes[0].Nodes.IndexOf(treenode)].Nodes.Add("Tables");
DB.Nodes[0].Nodes[DB.Nodes[0].Nodes.IndexOf(treenode)].Nodes.Add("Stored Procedurs");
DB.Nodes[0].Nodes[DB.Nodes[0].Nodes.IndexOf(treenode)].Nodes.Add("Views");
DB.Nodes[0].Nodes[DB.Nodes[0].Nodes.IndexOf(treenode)].Nodes.Add("Roles");

if (DB.Nodes[0].Nodes[DB.Nodes[0].Nodes.IndexOf(treenode)].Nodes[count].Text.ToString()== "Tables")
{
LoadSQL_Tables(DB.Nodes[0].Nodes[DB.Nodes[0].Nodes.IndexOf(treenode)]);

}
count ++;
}
}// End of LoadSQL_DB...


// function to load sql tables
public void LoadSQL_Tables(TreeNode parentNode)
{
SqlCon = new SqlConnection("Data Source= Localhost; Integrated security=True;database=master");
SqlCon.Open();
SqlCom = new SqlCommand();
SqlCom.Connection = SqlCon;
string nodeName = parentNode.Text;
SqlCom.CommandText = "use "+nodeName + " select * from sys.Tables ";

//SqlCom.CommandText = "select * from sys.Tables ";
SqlDR = SqlCom.ExecuteReader();
while (SqlDR.Read())
{
parentNode.Nodes.Add(SqlDR.GetString(0));
}
}