string query = "SELECT TOP " + TraineesPerBlock +
@" *
FROM TraineeDetail
WHERE SUBBR = '0'
ORDER BY MAXM DESC" ;
在traineesPerBlock中,当值被传递69时它给出110记录,我应该只给69.MAXM是一个双字段,也有记录具有相同的MAXM值。 任何解决方案?
答案 0 :(得分:1)
首先,我试着找出是因为开发环境还是数据库的麻烦。 在DBMS shell中执行脚本,将TraineesPerBlock替换为数字69,70。 在工作室中执行相同的操作。 此外,如果TraineesPerBlock为int,请尝试将其强制转换为字符串。
答案 1 :(得分:0)
你是否混淆十六进制和十进制?。
0x69(十六进制)非常接近105(十进制),这是你得到的数字。
答案 2 :(得分:0)
top指令不返回前n项,因为很容易引导 相信。相反,它返回至少n个不同的项目 结果的排序。 引自: Access SQL using TOP 5 returning more than 5 results?