Foxtable(狐表)用户栏目专家坐堂 → 包含指定字符问题


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

主题:包含指定字符问题

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
包含指定字符问题  发帖心情 Post By:2020/6/16 22:31:00 [只看该作者]

第3轮对阵表只生成一行数据!代码不通用!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

密码:888888
Else If cnt = 0 Then
    Dim drs4 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & a & "'","","上轮止累计积分,曾交战对手累计积分 Desc")
    Dim ii2 As Integer = 1
    For ic As Integer = 0 To drs4.Count - 1
        dr = DataTables("比赛积分").AddNew
        Dim dts2 As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = '" & di1 & "'And [身份] = '参赛人' And ([缺赛轮号] like '%" & di2 & "%' or [缺赛轮号] like '%" & di2 & "') and [编号] = '" & dr("编号") & "'") '没加or 条件与加 or条件都出错,第几轮是不是最后一轮不定,包含的内容所在位置不定,因此此代码有问题。
        If dts2 IsNot Nothing  Then
            dr("排序") = Nothing
        Else
            dr("排序") = math.Ceiling((ii2+1) \ 2)
            ii2 + = 1
        End If
        dr("棋赛名称") = di1
        dr("第几轮比赛") = di2
        dr("日期") = di3
        dr("编号") = drs4(ic)("编号")
        dr("姓名") = drs4(ic)("姓名")
        dr("上轮止累计积分") = drs4(ic)("上轮止累计积分") + drs4(ic)("积分")
        dr("曾交战对手累计积分") = drs4(ic)("曾交战对手累计积分") + DataTables("比赛积分").SQLCompute("SUM(积分)","[桌号] = " & drs4(ic)("桌号") & "And [编号] <> '" & drs4(ic)("编号") & "'and [姓名] <> '" & drs4(ic)("姓名") & "'")
        i2 += 1
    Next
    DataTables("比赛积分").Save()
    DataTables("对阵表").DataRows.Clear
    Dim drs5 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "'","","排序,上轮止累计积分 Desc,曾交战对手累计积分")
    For id As Integer = 0 To drs5.Count - 1 Step 2
        If id+1 <= drs5.Count - 1
            Dim nr As DataRow = DataTables("对阵表").AddNew()
            nr("桌号") = drs5(id)("排序")
            nr("红方_编号") = drs5(id)("编号")
            nr("红方_姓名") = drs5(id)("姓名")
            nr("黑方_编号") = drs5(id+1)("编号")
            nr("黑方_姓名") = drs5(id+1)("姓名")
            nr("红方_上轮止累计积分") = drs5(id)("上轮止累计积分")
            nr("红方_曾交战对手累计积分") = drs5(id)("曾交战对手累计积分").
            nr("黑方_上轮止累计积分") = drs5(id+1)("上轮止累计积分")
            nr("黑方_曾交战对手累计积分") = drs5(id+1)("曾交战对手累计积分")
        End If
    Next
    DataTables("比赛积分").SQLUpdate(drs5)
End If
DataTables("比赛积分").Load

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/16 22:35:00 [只看该作者]

红色这个代码想要干嘛?

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/16 22:41:00 [只看该作者]

没有排除包含缺赛轮次,当基本信息表的缺赛轮号包含当前轮次,比赛积分表排序为空,这代码执行后不为空,依然生成了排序。
[此贴子已经被作者于2020/6/16 22:41:16编辑过]

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/16 22:45:00 [只看该作者]

Dim dts2 As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = '" & di1 & "' And [身份] = '参赛人' And [缺赛轮号] like '%" & di2 & "%'  and [编号] = '" & dr("编号") & "'") 

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/16 22:52:00 [只看该作者]

这代码一开始就是这样的,不行啊!不信你试试。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/16 22:53:00 [只看该作者]

第2轮没问题,但第3轮就没效了。

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/17 8:33:00 [只看该作者]

Dim dts2 As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = '" & di1 & "'And [身份] = '参赛人' And [缺赛轮号] like '%" & di2 & "%' and [编号] = '" & drs4(ic)("编号") & "'")

nr("红方_曾交战对手累计积分") = drs5(id)("曾交战对手累计积分") 后面有个多余的点

 回到顶部