C#treeview双击节点重命名问题

bxwjyumscx 2017-05-18 04:19:59
1.重命名的时候总是会把原来的名字命名为空,但是由空命名为一个名字却可以;
2.不能识别大小写,这个叫D,那个叫d,改d的时候就会把D改了;
3.怎么样才只修改我选中的这个节点的名字,而不是其他重名的节点?
初学者,求指导
private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
string newTxt = e.Label;
string old = e.Node.Text;
SqlConnection con = new SqlConnection("server = DESKTOP-JHJ3JGE\\SQLEXPRESS;uid=sa;pwd=windows;database= library");
con.Open();
string sql = "update shuku set name='" + newTxt + "' where name='" + old + "'" ;
SqlDataAdapter da = new SqlDataAdapter(sql,con);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
}

private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
e.Node.BeginEdit();
}
...全文
214 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bxwjyumscx 2017-05-19
已经改好了,是其他部分的问题,谢谢
回复
戢翔 2017-05-18
 string sql = "update shuku set name='" + newTxt + "' where name='" + old + "'" ; 后面这个满足条件要用唯一标志,比如ID,不应该用重复的name
回复
bxwjyumscx 2017-05-18
引用 7 楼 Benjay77 的回复:
1.treeview 绑定的表 name允不允许重复? 不允许你就要做判断了 2.update语句用PID作条件 3. treeview的列名应该有PID 否则会报错
name允许重复…… 很多个节点的Pid可以是相同的,不知道怎么筛选
回复
bxwjyumscx 2017-05-18
引用 6 楼 xdashewan 的回复:
[quote=引用 5 楼 bxwjyumscx 的回复:] 其实我主要想解决第一个问题
看不懂你问的什么意思[/quote] 就是原先它叫a,我重命名叫b,但是事实上变成了无名氏…… 但是如果它本来name就是空的,我给它重命名,就想叫啥就叫啥了……
回复
Benjay77 2017-05-18
1.treeview 绑定的表 name允不允许重复? 不允许你就要做判断了 2.update语句用PID作条件 3. treeview的列名应该有PID 否则会报错
回复
xdashewan 2017-05-18
引用 5 楼 bxwjyumscx 的回复:
其实我主要想解决第一个问题
看不懂你问的什么意思
回复
bxwjyumscx 2017-05-18
其实我主要想解决第一个问题
回复
bxwjyumscx 2017-05-18
引用 3 楼 xdashewan 的回复:
[quote=引用 2 楼 bxwjyumscx 的回复:] 怎么算树形层次概念?有Pid
有id为什么update时候条件只用name,而不用id?[/quote] 有获取ID的方法,但是用了抛异常,但是我在别的功能里用ID就没事
回复
xdashewan 2017-05-18
引用 2 楼 bxwjyumscx 的回复:
怎么算树形层次概念?有Pid
有id为什么update时候条件只用name,而不用id?
回复
bxwjyumscx 2017-05-18
怎么算树形层次概念?有Pid
回复
xdashewan 2017-05-18
你数据库设计的时候没有树形层次概念?如果没有,那么就别允许重名node出现
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-05-18 04:19
社区公告

让您成为最强悍的C#开发者