Foxtable(狐表)用户栏目专家坐堂 → 无法在 System.String 和 System.Int32 上执行“=”操作。


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

主题:无法在 System.String 和 System.Int32 上执行“=”操作。

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


加好友 发短信
等级:二尾狐 帖子:559 积分:6330 威望:0 精华:0 注册:2008/9/7 20:15:00
无法在 System.String 和 System.Int32 上执行“=”操作。  发帖心情 Post By:2024/4/9 20:43:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
无法在 System.String 和 System.Int32 上执行“=”操作。

具体代码如下:
Dim kslxs As List(Of String) = DataTables("类排序表").GetValues("考试类代码")
For Each kslx As String In kslxs
    '获得该班级的全部行,按总分降序排序
    Dim drs As List(Of DataRow) = DataTables("类排序表").Select("[考试类代码] = " & kslx, "修正分数 DESC")
    For n As Integer = 0 To drs.Count - 1 '遍历所有行
        If n > 0 AndAlso drs(n)("修正分数") = drs(n - 1)("修正分数") Then '如果总分和上一行相同
            drs(n)("类排序") = drs(n - 1)("类排序") '则排名等于上一行
        Else
            drs(n)("类排序") = n + 1 '设置排名
        End If
    Next
Next这个问题如何解决?谢谢老师

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


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


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


加好友 发短信
等级:二尾狐 帖子:559 积分:6330 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2024/4/9 21:17:00 [只看该作者]

没看出来!哪里的问题,谢谢老师

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


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

[考试类代码]是字符列吗?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:二尾狐 帖子:559 积分:6330 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2024/4/9 22:10:00 [只看该作者]

老师,找到了:
Dim drs As List(Of DataRow) = DataTables("类排序表").Select("[考试类代码] ='" & kslx & "'","修正分数 DESC")

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


加好友 发短信
等级:二尾狐 帖子:559 积分:6330 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2024/4/9 22:12:00 [只看该作者]

老师,还有一个问题,这里排序是相同分数并列,如有5个100分,这五个人并列第一名,99分的排名就是第六名了,我不想让他这样排,我的目的是让99分的,排第二名,这个代码如何来写?谢谢老师

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


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

……
dim a as integer = 1
    For n As Integer = 0 To drs.Count - 1 '遍历所有行
        If n > 0 AndAlso drs(n)("修正分数") = drs(n - 1)("修正分数") Then '如果总分和上一行相同
            drs(n)("类排序") = drs(n - 1)("类排序") '则排名等于上一行
        Else
            drs(n)("类排序") = a '设置排名
a += 1
        End If
    Next
Next这个问题如何解决?谢谢老师

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


加好友 发短信
等级:二尾狐 帖子:559 积分:6330 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2024/4/10 10:35:00 [只看该作者]

谢谢老师


 回到顶部