**Treeview的addchild问题**(20分)

  • 主题发起人 主题发起人 ssh78
  • 开始时间 开始时间
S

ssh78

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在运行 Treeview1.items.addchild(Treeview1.selected,Tstring)的同时,向数据库
中这条记录的其他字段里添加数据?
我用了
with Treeview1.items.addchild(Treeview1.selected,caption) do
begin
table1.edit;
table1.fieldbyname('其他字段').AsString:='String';
table1.post;
end;
出现错误:Couldn't perform the edit because another user changed the record.
并且用:
if (Treeview1.Selected <> Nil) then
Treeview1.Selected.Delete;
的时候也出现这个错误
 
从程序看,和TreeView无关,应该是table1的问题,使用了多线程吗?连接的是什么数据库?
 
没有用多线程呀,只是向table1里加的那个“其它字段”的值是从同一个数据库里另一个表
里取的。oracle数据库。
开始我用paradox数据库,没出现什么问题。后来改成了oracle数据库,就出现好多问题。
 
换SQL写看怎么样
 
怎样个写法?
 
此问题已经解决,方法是在edit,delete,add之前先刷新 table1.
可能是与oracle数据库改动数据需要提交一下有关。
那么怎样定位,使treeview1.selected为刚才选中的记录呢?因为table1一refresh,就
自动选中根节点了。
答对这个问题,分照样给!
 
for i := 0 to mainf.TV_gdwj.items.count - 1 do
if mainf.TV_gdwj.items.item.Text=Cds_wsgdwj.fieldbyname('jg').asstring then
mainf.TV_gdwj.items.item.selected:=true;
我用的是遍历树
 
后退
顶部