treenode 資料更新

2021-09-02 14:00:04 字數 1220 閱讀 7312

1、用父節點的left更新,每次更新都會更新與其同級的子節點及 其父節點 及與其父節點同級的節點

if has parent

pleft = parent left

update  left = left+2 where left >pleft

update right = right+2 where right>pleft

insert left=pleft +1 ,right = pleft +2

else 

insert into left = max(right) +1,

right = left +2

事例:

父節點1 : 1  2 

插入子節點:父節點1為  1   4 ,子節點1為 2   3 ;

插入子節點:父節點1為  1   6 ,子節點1為 4   5,子節點2為 2  3;

插入父節點:父節點1為  1   6 ,子節點1為 4   5,子節點2為 2  3;父節點2為7  8;

插入子節點:父節點1為  1   8,子節點1為  4   5,子節點2為 6  7,子節點3為2  3;父節點2為 9  10;

2、用父節點的right更新,每次更新其父節點 及與其父節點同級的節點

建議使用

if has parent

pright = parent right

update  left = left+2 where left >= pright

update right = right+2 where right>= pright

insert left=pright  ,right = pright + 1

else 

insert into left = max(right) +1,

right = left +2

事例:父節點1 : 1  2 

插入子節點:父節點1為  1   4 ,子節點1為 2   3 ;

插入子節點:父節點1為  1   6 ,子節點1為 2   3,子節點2為 4  5;

插入父節點:父節點1為  1   6 ,子節點1為 2   3,子節點2為 4  5;父節點2為7  8;

插入子節點:父節點1為  1   8 ,子節點1為 2   3,子節點2為 4  5,子節點3為6  7;父節點2為 9  10;

讀取XML繫結TreeNode

1 treeview onclick treeviewcheckbox click runat server 2 treeview.showcheckboxes treenodetypes.all treeview.showlines true treeview.expanddepth 1 tree...

更新資料並返回更新的資料

今天,測試資料併發,發現死鎖問題,最後發現時頻繁對乙個表進行更新和查詢操作。我的業務邏輯很簡單,就是做個seq 但是sqlserver沒有,所以就乙個表來實現,通過程式先取出 再 1 更新,但是在大併發的情況下就會死鎖。所以就想看看有沒有辦法把這兩個sql 寫成乙個的。網上查了半天終於發現了。eg ...

批量更新資料

update bs storage setstoreqty storeqty a.mqty from select nb disbill.companyid,goodsid,nb disbill.outstoreid,outstorepos,mqty,nb disbill.billno from n...