以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58561) |
-- 作者:aygp -- 发布时间:2014/10/19 21:04:00 -- [求助] 以下代码有一个问题,如果“得分”列中没有成绩分数(比赛开始前“得分”列是没有分数的),执行任何一个操作都会出现错误提示,请问代码如何修改?
Dim da As DataTable = DataTables("学生团体总分") Dim da_source As DataTable =
DataTables("比赛得分") da.DataRows.Clear Dim dwa As List(Of String) =
da_source.GetUniqueValues ("队别 <> \'教工组\'", "单位" ) For Each dw As String In dwa Dim ndr As DataRow =
da.AddNew ndr("单位") = dw ndr("总分") = da_source.Compute("sum(得分)", "单位 = \'" & dw & "\'") Next
Dim dra As List(Of DataRow) =
da.Select("", "总分 desc") dra(0)("名次") = 1 For i As Integer = 1 To dra.Count - 1 If dra(i)("总分") = dra(i-1)("总分") Then dra(i)("名次") = dra(i-1)("名次") Else dra(i)("名次") = i+1 End If Next
Tables("学生团体总分").Sort = "名次"
Dim db As DataTable = DataTables("教工团体总分") Dim db_source As DataTable = DataTables("比赛得分") db.DataRows.Clear Dim dwb As List(Of String) =
db_source.GetUniqueValues ("队别 = \'教工组\'", "单位" ) For Each dw As String In dwb Dim ndb As DataRow =
db.AddNew ndb("单位") = dw ndb("总分") = db_source.Compute("sum(得分)", "单位 = \'" & dw & "\'") Next
Dim drb As List(Of DataRow) =
db.Select("", "总分 desc") drb(0)("名次") = 1 For i As Integer = 1 To drb.Count - 1 If drb(i)("总分") = drb(i-1)("总分") Then drb(i)("名次") = drb(i-1)("名次") Else drb(i)("名次") = i+1 End If Next
Tables("教工团体总分").Sort = "名次" |
-- 作者:有点甜 -- 发布时间:2014/10/19 21:17:00 -- 判断一下 dra drb 是否有数据。
If dra.Count > 0 Then dra(0) End If |
-- 作者:aygp -- 发布时间:2014/10/19 21:50:00 -- 请问代码放在什么位置合适? If dra.Count > 0 Then
dra(0) End If |
-- 作者:有点甜 -- 发布时间:2014/10/19 21:51:00 -- 取 dra(0) drb(0) 之前,就要判断。 [此贴子已经被作者于2014-10-19 21:51:16编辑过]
|
-- 作者:aygp -- 发布时间:2014/10/19 22:04:00 -- 提示错误: |
-- 作者:有点甜 -- 发布时间:2014/10/19 22:06:00 -- 无语了,学了这么久你什么都还不会。
Dim dra As List(Of DataRow) = da.Select("", "总分 desc") |
-- 作者:aygp -- 发布时间:2014/10/19 22:49:00 -- 谢谢甜老师!我会努力学习的,今后还需要多多指教。 |