Foxtable(狐表)用户栏目专家坐堂 → 批量替换


  共有4040人关注过本帖树形打印复制链接

主题:批量替换

帅哥哟,离线,有人找我吗?
刘林
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1940 积分:14886 威望:0 精华:0 注册:2016/4/28 9:58:00
批量替换  发帖心情 Post By:2022/12/12 20:13:00 [只看该作者]

请问老师,因涉及到将所有表中的某列中某个值统一替换,上面的代码提示至少一个参数,我觉得应该是正确的,不知该怎样改?

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1940 积分:14886 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/12 20:23:00 [只看该作者]

这个代码根本不知道在干吗,从头错到尾

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

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1940 积分:14886 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1940 积分:14886 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2022/12/12 20:34:00 [只看该作者]

数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。

出现这样错误

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/12 21:44:00 [只看该作者]

到后台数据库把所有列类型为ntext的改为nvarchar(max)

 回到顶部