以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  批量替换  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184531)

--  作者:刘林
--  发布时间:2022/12/12 20:13:00
--  批量替换
请问老师,因涉及到将所有表中的某列中某个值统一替换,上面的代码提示至少一个参数,我觉得应该是正确的,不知该怎样改?
--  作者:刘林
--  发布时间:2022/12/12 20:16:00
--  
请问老师,因涉及到将所有表中的某列中某个值统一替换,上面的代码提示至少一个参数,我觉得应该是正确的,不知该怎样改?


for each dt as datatable in datatables
for each c as datacol  in dt.datacols
datatables(dt.name).sqlreplacefor(c.name,"内江市东兴区市验小学",c.name & "= \'内江市第十三小学校高新校区\'") 
next
next

[此贴子已经被作者于2022/12/12 20:24:33编辑过]

--  作者:有点蓝
--  发布时间:2022/12/12 20:23:00
--  
这个代码根本不知道在干吗,从头错到尾

所有表的所有列都替换一遍?还是替换指定的列的值,具体哪个列?还是不同表的列名还不一样?

--  作者:刘林
--  发布时间:2022/12/12 20:26:00
--  
for each dt as datatable in datatables
for each c as datacol  in dt.datacols
datatables(dt.name).sqlreplacefor(c.name,"内江市东兴区市验小学",c.name & "= \'内江市第十三小学校高新校区\'") 
next
next

所有的表中所有列中如果有等于A,则换成B

--  作者:有点蓝
--  发布时间:2022/12/12 20:32:00
--  
for each dt as datatable in datatables
for each c as datacol  in dt.datacols
if c.IsString then
dt.sqlreplacefor(c.name,"内江市东兴区市验小学",c.name & "= \'内江市第十三小学校高新校区\'") 
end if
next
next

--  作者:刘林
--  发布时间:2022/12/12 20:34:00
--  
数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。

出现这样错误

--  作者:有点蓝
--  发布时间:2022/12/12 21:44:00
--  
到后台数据库把所有列类型为ntext的改为nvarchar(max)