Foxtable(狐表)用户栏目专家坐堂 → up date


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

主题:up date

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
up date  发帖心情 Post By:2021/4/29 9:02:00 [只看该作者]

老师好,下面的语句,希望实现如下功能:
开piao流水表中有piao据集合及开piaoid列,其中piao据编号集合列是多个piao据号码组成的字符串。希望在piao据编号集合列中找到原piao据号码,将一个新的piao据号码替换旧的piao据号码。如何用up date命令实现?

hm_n  是新号码
hm_o 是原号码
    dim hm as string = "%" & hm_o & "%"
    dim c md as new SQLC ommand
    cmd.Co nnectionName = "数据源名称"
    cmd.Comm andText = "UPD ATE 开piao流水 SET piao据编号集合 = ? WHERE piao据编号集合 like  ?"
    cmd.Para meters.Add("@piao据编号集合",            )
    cmd.Para meters.Add("@piao据编号集合, hm )
    cmd.Exe cuteNonQuery()


谢谢!

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


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 9:15:00 [只看该作者]

什么数据库?SqlServer?
试试
cmd.CommandText = "UPDATE 开piao流水 SET piao据编号集合 = replace(
piao据编号集合,','+?+',',','+?+',') WHERE piao据编号集合 like  '%,'+?+',%'"
cmd.Para meters.Add("@编号1",hm_n)
cmd.Para meters.Add("@编号2, hm_o )
cmd.Para meters.Add("@编号3, hm_o )

如果不行就只能直接拼sql

cmd.CommandText = "UPDATE 开piao流水 SET piao据编号集合 = replace(piao据编号集合,','+" & hm_n & "+',',','+" & hm_o & "+',') WHERE piao据编号集合 like  '%,'+" & hm_o & "+',%'"

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2021/4/29 14:05:00 [只看该作者]

老师,是SqlServer数据库。piao据编号集合中,不一定有几个piao据编号组成。希望在piao据编号集合中查找piao据编号为 a的编号,用 编号b 来替换。

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


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 15:01:00 [只看该作者]

不管几个编号都可以使用上面的方法

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2021/4/29 22:43:00 [只看该作者]

老师,确认是如下顺序
cmd.Para meters.Add("@编号1",hm_n)
cmd.Para meters.Add("@编号2, hm_o )
cmd.Para meters.Add("@编号3, hm_o )
而不是 下面的顺序吗?
cmd.Para meters.Add("@编号1, hm_o )
cmd.Para meters.Add("@编号2",hm_n)
cmd.Para meters.Add("@编号3, hm_o )
狐表中的字符串 replace ,都是被替换的字符串在前
谢谢老师!

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


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 23:19:00 [只看该作者]

cmd.Para meters.Add("@编号1, hm_o )
cmd.Para meters.Add("@编号2",hm_n)
cmd.Para meters.Add("@编号3, hm_o )

 回到顶部