注册 登录
编程论坛 Delphi论坛

如何动态更新treeview中节点的text?

pedc200 发布于 2008-09-25 15:56, 1794 次点击
你好!
     请求各位高手帮忙一下,问题是这样的,我现在用treeview和access数据库进行绑定。我在treeview中更改了节点的text,我想把数据库里面相对应的数据也更新。我在treeview中的Onedited事件中是这样写的:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
with adoquery1 do
begin
close;
connection:=adoconnection1;
sql.clear;
sql.Add('update lb');// 更新类别
sql.add('set lbmc=:cc where lbid=:id');
parameters[0].Value:=treeview1.Items[treeview1.Selected.Index].Text;
parameters[1].value:=lbid;//单元变量,对应数据库里面的lbid,在onediting里面定义过。
if prepared=false then
begin
prepared:=true;
end;
execsql;
end;

end;

OnEditing事件为:
procedure TForm1.TreeView1Editing(Sender: TObject; Node: TTreeNode;
  var AllowEdit: Boolean);
  var
  adoquery11:Tadoquery;

  begin
  try
  adoquery11:=Tadoquery.Create(nil);
  with adoquery11 do
  begin
     close;
     connection:=Adoconnection1;
     sql.Clear;
     sql.Add('select lbid from lb where lbmc=:mc');
     parameters[0].Value:=treeview1.Items[treeview1.Selected.Index].Text;
     open;
     if recordcount>0 then
     begin
     lbid:=fieldbyname('lbid').asinteger;
     end;

     end;
        finally
        adoquery11.Close;
        adoquery11.free;
        end;


  end;
end;
我现在获取的text还是之前没有更改过的text,我该怎么办?
0 回复
1