【发布时间】:2017-12-29 13:11:22
【问题描述】:
我想获取数据库架构并将其全部列在 Treeview 中。父节点是数据库中的表名,子节点是表的属性。问题是代码没有将子节点添加到其父节点。输出可以在代码下方看到。谢谢你。
public List<string> GetTableSchema(string conString, List<string> tblNames)
{
using (SqlConnection connection = new SqlConnection(conString))
{
connection.Open();
DataTable schema = connection.GetSchema("Tables");
connection.Close();
foreach (DataRow row in schema.Rows)
{
tblNames.Add(row[2].ToString());
foreach (var list in tblNames)
{
connection.Open();
string query = "SELECT * FROM" + " " + list;
cmd = new SqlCommand(query, connection);
dr = cmd.ExecuteReader();
dt = dr.GetSchemaTable();
connection.Close();
foreach (DataRow dt_row in dt.Rows)
{
## This Code is to add parent nodes ##
tViewUpdatedSchema.Nodes.Add(row[2].ToString());
foreach (DataColumn dt_col in dt.Columns)
{
## This Code is to add child to parent nodes ##
tViewUpdatedSchema.Nodes.Add(string.Format("{0}={1}", dt_col.ColumnName, dt_row[dt_col]).ToString());
}
}
}
}
return tblNames;
}
}
请点击这里查看输出
【问题讨论】: