C# 将子节点添加到treeView

C# 将子节点添加到treeView,c#,treeview,sql-server-ce,C#,Treeview,Sql Server Ce,我目前正在尝试编写编目程序。现在,我的目标是让“添加”按钮按我的意愿工作。我的代码: private void populatingTreeView() { SqlCeCommand query = new SqlCeCommand("SELECT * FROM cars ORDER BY model", con); SqlCeDataReader dr = query.ExecuteReader(); while (dr.Read()) { TreeNo

我目前正在尝试编写编目程序。现在,我的目标是让“添加”按钮按我的意愿工作。我的代码:

private void populatingTreeView()
{
   SqlCeCommand query = new SqlCeCommand("SELECT * FROM cars ORDER BY model", con);
   SqlCeDataReader dr = query.ExecuteReader();

   while (dr.Read())
   {
       TreeNode[] brandNode = treeView1.Nodes.Find(dr["brand"].ToString(), false);
       if (!brandNode.Any()) 
       {
          brandNode = new TreeNode[]
          {
             treeView1.Nodes.Add(dr["brand"].ToString(),dr["brand"].ToString())
          };
          platformNode[0].Nodes.Add(dr["brand"].ToString(), dr["model"].ToString());
       }
          else
          {
             platformNode[0].Nodes.Add(dr["brand"].ToString(), dr["model"].ToString());
          }
   }
}
它起作用了。几乎。在乞讨时,我的树视图是这样的

然后,在按下“添加”按钮后,每个子节点都会复制自身,但被重新添加的节点除外(图中为E90)

我不知道怎么修改我的方法,我明白了。但重启程序后,一切都恢复正常

我的“添加”按钮方法

private void button1_Click(object sender, EventArgs e)
{
 SqlCeCommand com = new SqlCeCommand("INSERT INTO cars(model,brand) VALUES (@model,@brand)", con);
  com.Parameters.AddWithValue("@model", textBox1.Text);
  com.Parameters.Add("@brand", comboBox3.Text);

  try
     {
        int affectedRows = com.ExecuteNonQuery();

        if (affectedRows == 0)
        {
            MessageBox.Show("Please, fill all the fields!");
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

您需要在重新添加节点之前清除树,这是您真正要做的:

treeView1.Nodes.Clear();