日期:2014-05-19  浏览次数:20751 次

treeview生成数据库
基本上我们看到的都是数据库生成树。
那能否通过一个treeview树生成数据库呢?要求数据库的结构有以下几个字段:
ID:编号(自动加1)
LayerLever:节点的级别(1级跟节点是1,2级跟节点是2。。。)
LayerValue:   节点的实际值(如果是叶节点则是实际值,根节点则是1,2,3..排序不重合即可)
LayerName:节点的名字
parentID:父节点(一级根目录的parentID是root,二级是root-1,三级是root-1-1,依次类推)
hasChild:是否有父节点
LayerIndex:同一父节点的兄弟节点的优先级

------解决方案--------------------
/// <summary>
/// 存储树信息到数据表中
/// </summary>
/// <param name= "TNode "> </param>
private void SaveNodeCollection(TreeNodeCollection nodesCollection)
{
string SQLStr;
string parentnodeid = "0 ";
foreach (TreeNode tn in nodesCollection)
{
if (tn.Parent != null)
parentnodeid = tn.Parent.Handle.ToString();

SQLStr = "Insert Into wtgroupinfo(nodeid, nodename, nodetext, nodelevel, nodeimageindex, parentnodeid) Values( ' " +
tn.Handle.ToString() + " ', ' " + tn.Handle.ToString() + " ', ' " + tn.Text + " ', ' " + tn.Level.ToString() + " ', '-1 ', ' " + parentnodeid + " ') ";
IResource.IComm.FExecuteSql(SQLStr);

SaveNodeCollection(tn.Nodes);
}
}