使用textbox对AdvTree的数据保存到AdvTree的数据库中
时间: 2024-05-10 18:21:40 浏览: 96
要将AdvTree的数据保存到数据库中,需要以下步骤:
1. 创建一个textbox控件,用于输入数据库连接字符串。
2. 创建一个按钮,用于保存AdvTree的数据到数据库中。
3. 在按钮的Click事件中,获取textbox中的数据库连接字符串。
4. 使用ADO.NET连接到数据库,并创建一个新的数据表。
5. 遍历AdvTree中的所有节点,将其数据保存到数据表中。
6. 关闭数据库连接。
以下是一个示例代码:
```c#
private void btnSaveToDatabase_Click(object sender, EventArgs e)
{
// 获取数据库连接字符串
string connectionString = textBox1.Text;
// 连接数据库并创建新表
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("CREATE TABLE AdvTreeData (ID int, Text nvarchar(50), ParentID int)", connection);
command.ExecuteNonQuery();
// 遍历AdvTree中的所有节点,并将其数据保存到数据表中
foreach (Node node in advTree1.Nodes)
{
SaveNodeToDatabase(node, 0, connection);
}
// 关闭数据库连接
connection.Close();
}
}
private void SaveNodeToDatabase(Node node, int parentID, SqlConnection connection)
{
// 将节点数据保存到数据表中
SqlCommand command = new SqlCommand("INSERT INTO AdvTreeData (ID, Text, ParentID) VALUES (@ID, @Text, @ParentID)", connection);
command.Parameters.AddWithValue("@ID", node.Tag);
command.Parameters.AddWithValue("@Text", node.Text);
command.Parameters.AddWithValue("@ParentID", parentID);
command.ExecuteNonQuery();
// 递归保存子节点数据
foreach (Node subNode in node.Nodes)
{
SaveNodeToDatabase(subNode, (int)node.Tag, connection);
}
}
```
阅读全文