Dim qsmc As WinForm.ComboBox = Forms("主窗口").Controls("棋赛名称")
Dim di1 As String = qsmc.Value
Dim m As WinForm.TextBox = Forms("主窗口").Controls("第几轮")
Dim di2 As String = m.Value
Dim bsrq As WinForm.DateTimePicker = Forms("主窗口").Controls("rq")
Dim di3 As Date = bsrq.Value
Dim bslx As WinForm.TextBox = Forms("主窗口").Controls("bslx")
Dim lx As String = bslx.Value
Dim fz As WinForm.DropDownBox = Forms("主窗口").Controls("fenzhu")
Dim Str As String = fz.Value
Dim tc As WinForm.TabControl = Forms("主窗口").Controls("TabControl1")
Dim dt As Table = Tables(tc.SelectedPage.Name)
tc.SelectedPage.Name = Str
For Each nr As Row In dt.Rows
Dim dr1 As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [团体赛或个人赛] = '" & lx & "' And [所属团体或个人分组] = '" & Str & "' And [编号] = '" & nr("红方_编号") & "' And [姓名] = '" & nr("红方_姓名") & "'")
If dr1 IsNot Nothing Then
If nr("桌号") > 0 Then
dr1("积分") = nr("当前局成绩_红方")
If di2 = 1 Then
dr1("红黑方") = "红方"
dr1("本轮止累计积分") = nr("当前局成绩_红方")
dr1("本次止曾交战对手累计积分") = nr("当前局成绩_黑方")
ElseIf di2 >= 2 Then
dr1("本轮止累计积分") = nr("红方_上轮止累计积分") + nr("当前局成绩_红方")
dr1("本次止曾交战对手累计积分") = nr("红方_曾交战对手累计积分") + nr("当前局成绩_黑方")
End If
ElseIf nr.IsNull("桌号") And dr1("编号") = nr("红方_编号") Then
dr1("红黑方") = "红方"
dr1("积分") = 0
If di2 = 1 Then
dr1("本轮止累计积分") = nr("当前局成绩_红方")
dr1("本次止曾交战对手累计积分") = nr("当前局成绩_黑方")
ElseIf di2 >= 2 Then
dr1("本轮止累计积分") = nr("红方_上轮止累计积分") + nr("当前局成绩_红方")
dr1("本次止曾交战对手累计积分") = nr("红方_曾交战对手累计积分") + nr("当前局成绩_黑方")
End If
End If
dr1.Save
End If
Dim dr2 As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [团体赛或个人赛] = '" & lx & "' And [所属团体或个人分组] = '" & Str & "' And [编号]='" & nr("黑方_编号") & "'And [姓名] = '" & nr("红方_姓名") & "'")
If dr2 IsNot Nothing Then
If di3 <> Nothing Then
dr2("日期") = di3
End If
If nr("桌号") > 0 Then
dr2("红黑方") = "黑方"
dr2("积分") = nr("当前局成绩_黑方")
If di2 = 1 Then
dr2("本轮止累计积分") = nr("当前局成绩_黑方")
dr2("本次止曾交战对手累计积分") = nr("当前局成绩_红方")
ElseIf di2 >= 2 Then
dr2("本轮止累计积分") = nr("黑方_上轮止累计积分") + nr("当前局成绩_黑方")
dr2("本次止曾交战对手累计积分") = nr("黑方_曾交战对手累计积分") + nr("当前局成绩_黑方")
End If
ElseIf nr.IsNull("桌号") And dr2("编号") = nr("黑方_编号") Then
dr2("红黑方") = "黑方"
dr2("积分") = 0
If di2 = 1 Then
dr2("本轮止累计积分") = nr("当前局成绩_黑方")
dr2("本次止曾交战对手累计积分") = nr("当前局成绩_红方")
ElseIf di2 >= 2 Then
dr2("本轮止累计积分") = nr("黑方_上轮止累计积分") + nr("当前局成绩_黑方")
dr2("本次止曾交战对手累计积分") = nr("黑方_曾交战对手累计积分") + nr("当前局成绩_红方")
End If
End If
dr2.Save
End If
Next
Dim drs As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [所属团体或个人分组] = '" & Str & "'","","本轮止累计积分 Desc,本次止曾交战对手累计积分 Desc")
If drs IsNot Nothing Then
Dim i1 As Integer = 1
For n As Integer = 0 To drs.Count - 1 '遍历所有行
If n > 0 Then
drs(n)("名次") = 1
ElseIf n > 0 And (drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本次止曾交战对手累计积分") > drs(n-1)("本次止曾交战对手累计积分") Or (drs(n)("本轮止累计积分") > drs(n-1)("本轮止累计积分"))) Then
i1 = i1 + 1
drs(n)("名次") = i1
Else
i1 = i1
drs(n)("名次") = i1
End If
Next
End If
DataTables("比赛积分").SQLUpdate(drs)
DataTables("比赛积分").load