1.问题提出
如果我逐条更新的话,就要不停更新下列代码的红色部分
update FORMFIELDS
set fieldvalue='<Field><DataType>2</DataType><Caption>BOM对应设计师0</Caption><Property Type="Sys" Key="P" /><Value><SetField GetField="USERNAME" FormField="txtDesigner0" /></Value><Splitter></Splitter><Multi>N</Multi></Field>'
where FORMSN='32' and fieldid='txtDesigner0'
2.解决办法
如果字段足够多,100个字段,200个字段......,于是问题出现了,为了更新这些字段的内容要花大量的时间,甚至不能保证正确更新所有内容,可能发生遗漏、张冠李戴现象,最终就想到了通过Selec查询语句实现更新的临时列,如下列代码的蓝色部分
select 'update FORMFIELDS set fieldvalue=''<Field><DataType>2</DataType><Caption>'+fieldname+'</Caption><Property Type="Sys" Key="P" /><Value><SetField GetField="USERNAME" FormField="'+fieldid+'" /></Value><Splitter></Splitter><Multi>N</Multi></Field>'' where FORMSN=''32'' and fieldid='''+fieldid+'''' from FORMFIELDS
where FORMSN='32' and fieldid like '%txtDesigner%'
最后执行蓝色部分生成的列内容即可完成目的。