- C# code
select Accfgsbm into :fgsbm from st_user where ltrim(rtrim(userid))= :userid; 查出原来保存的id 放入fgsbm 中 fgsbm值有时候为:'101'有时候为'101,102,103...'for i = ll_count to 1 step -1ll_index = plb_grant_menulist.selectedindex()menutext = trim(plb_grant_menulist.selecteditem())//公司名称plb_grant_menulist.deleteitem(ll_index)//从plb中删除掉 [color=#FF0000]//接下来不知道 如何将menutext(公司名称)转为id 和fgsbm的值做对比,如果包含在fgsbm中的话 就删除掉[/color]next
比如fgsbm原来保存的是'101,102,103' 现在的ls_companyid =101
如何将accfgsbm 更新为'102,103' 就是去掉原来字符串的一个字符
------解决方案--------------------
先取出ls_companyid在fgsbm中的開始位置ll_pos,取從1到ll_pos-1的字符串,再取ll_pos + length(ls_compnayid)開始到結束的字符串,蔣兩個字符串合並,再檢查開頭和結尾是不是‘,’,如是的話進行刪除,再檢查中間會不會有兩個‘,’在一起的,刪除一個,具體的寫法你自己看一下吧
------解决方案--------------------
先用POS()找到menutext在fgsbm中的起始位置,然后利用mid()将fgsbm中其他的字符串截取出来,然后再组合成fgsbm。