如何判断treeview中的终端节点? |
答題得分者是:Fishman
|
baby2321
初階會員 ![]() ![]() 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
baby2321
初階會員 ![]() ![]() 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
Fishman 你好
我在设置保存treeview结构中 有如下一段代码
...... for i:=2 to treeview1.Items.Count do begin pnode:=treeview1.Items.Item[i-1]; name:=pnode.Text; begin if pnode.HasChildren:=true then//此行提示出错 高亮显示 adocommand1.CommandText:='insert into 数据表 ([终端节点]) values(''0'') where 数据表.Text=pnode.Text'; adocommand1.Execute else adocommand1.CommandText:='insert into 数据表 ([终端节点]) values(''1'')'; adocommand1.Execute; end; ...... end;劳烦Fishman大大帮忙看看< > 再次感谢< > |
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi baby2321,
將 if pnode.HasChildren:=true then adocommand1.CommandText:='insert into 数据表 ([终端节点]) values(''0'') where 数据表.Text=pnode.Text'; 分別更改為 if pnode.HasChildren then adocommand1.CommandText:='insert into 数据表 ([终端节点]) values(''0'') where 数据表.Text=' QuotedStr(Edit1.Text);
------
Fishman |
baby2321
初階會員 ![]() ![]() 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
设置保存treeview的功能键代码
procedure TSetting.Button1Click(Sender: TObject); var pnode:TTreeNode; begin for i:=2 to treeview1.Items.Count do begin pnode:=treeview1.Items.Item[i-1]; name:=pnode.Text; ...........//实现对treeview的各类数据保存操作 不涉及终端节点字段 end; if pnode.HasChildren then begin adocommand1.CommandText:='update 数据表 set [终端节点]=0 '; adocommand1.Execute; end else adocommand1.CommandText:='update 数据表 set [终端节点]=1 '; adocommand1.Execute; end;这样操作后 没有提示错误 但字段 终端节点 的所有内容全部被设为0 这里的where不知该如何写 發表人 - baby2321 於 2005/11/07 18:30:07 發表人 - baby2321 於 2005/11/07 18:34:06 |
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
baby2321
初階會員 ![]() ![]() 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi baby2321,
procedure TForm1.Button1Click(Sender: TObject); var PNode :TTreeNode; I,R : Integer; begin for I := 2 to TreeView1.Items.Count do begin PNode := TreeView1.Items.Item[I-1]; if PNode.HasChildren then R := 0 else R := 1; ADOCommand1.CommandText:='update yourtable set field = ' IntToStr(R) ' where prodid = ' QuotedStr(PNode.Text); ADOCommand1.Execute; end; end;update 不使用 Unique Key 是很危險的舉動,因為有可能會異動到其他筆資料。
------
Fishman |
baby2321
初階會員 ![]() ![]() 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |