如何将TreeView树状图数据存入SQL数据库?C#实现方法详解
首先,我为何要写这个文章呢?是这样的,我在早些时候就曾使用过这个东西。那个时候,对我而言,这是一件很有逻辑且挺有意思的事情。当时,我用了好几天都没能弄明白其中的逻辑,怎么做也做不出来。后来,我的一位老师给了我一个源码,我就直接使用了,当时我也没有仔细查看。时隔两年,突然需要用到它,我就想突破一下自己,看看自己是否能弄明白。事实证明,这东西其实挺简单的,真不知道当时是什么地方难住了我。

话不多说,先看数据库里存储的样子:
这个代码将树状图数据通过 treeView 存入到了 SQL 中。
这个是将树状图从 C# 存入到数据库的方法,它存入数据库后的样子是这样的:
一、treeview 存入 SQL 中
从上面的表格中可以看出,这个需要有三个列。其中一个列是带有标识符且自增长的 ID,一个列是用于存储树状图节点名称的 Name,还有一个列是用来区分层级的 ParentID,这三个列是主要的列。
然后在看代码:
///
///一键导入数据库
///
///
///
在按钮的点击事件中,当点击的对象为 sender 且事件类型为 EventArgs e 时,会触发这个私有方法 button_SQL_Click 。
{
//获取父节点
treeView_Combat 的节点集合中的每个节点 n 都被遍历到 。
{
Console.WriteLine(n.Text);
if (n.Nodes.Count > 0)
{
将数据插入到数据库,然后执行 select @@identity AS ID 语句。这个 ID 是递增列,需要进行查询后才能返回。
INSERT INTO [Tree 数据库].[dbo].[TrreTest]
([Name]
,[parentID]
,[datetime])
VALUES
('"+n.Text+
"',"+0+
使用 "datetime" 后,执行 "('','"+datetime+"') select @@identity AS ID" 语句;在该语句中,先执行括号内的操作,然后选择 @@identity 并将其命名为 ID 。
n.Tag 等于通过 SQLserver.Commtree(sql)得到的结果;此操作的目的是将固定数据放置在特定位置,以便在下次循环查询时能够使用;用于此操作的数据库位置的函数是 sqlCommand 和 ExecuteScal