Foxtable(狐表)用户栏目专家坐堂 → 这种情况的where条件要如何写?


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

主题:这种情况的where条件要如何写?

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


加好友 发短信
等级:超级版主 帖子:113484 积分:577909 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/7 9:18:00 [显示全部帖子]

先查询判断是否在数据库,再插入

select 单据编号 from 事务提醒 WHERE 单据名称 = '工序分类'  AND 单据编号  IN ( 'Z01', 'Z02' )

获取已经存在的单据编号,排除后再生成插入的sql


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


加好友 发短信
等级:超级版主 帖子:113484 积分:577909 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/7 10:37:00 [显示全部帖子]

只能拼sql:

Dim sb As new  StringBuilder
sb.AppendLine("INSERT INTO 事务提醒(单据名称,单据编号) ")
Dim lst As List(Of String) = DataTables("事务提醒").GetValues("单据编号")
For Each r As Row In Tables("表A").Rows
    If lst.Contains(r("单据编号")) Then Continue For
    sb.AppendLine("SELECT '工序分类', '" & r("单据编号") & "' UNION ALL ")
Next


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


加好友 发短信
等级:超级版主 帖子:113484 积分:577909 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/8 15:16:00 [显示全部帖子]

用sql取值比较好一点
select 单据编号+'|'+工序号 as 号 from 事务提醒

通过sqlcommand得到datatable,

Dim lst As List(Of String) = dt.GetValues("")
For Each r As Row In Tables("表A").Rows
    If lst.Contains(r("单据编号") & "|" &  r("工序号")) Then Continue For
    sb.AppendLine("SELECT '工序分类', '" & r("单据编号") & "' UNION ALL ")
Next

 回到顶部