select查询返回的行数多于传递的参数

时间:2013-09-24 15:12:33

标签: c# select

早些时候我试过这个

string query =  "SELECT TOP " + TraineesPerBlock + 
               @"         * 
                   FROM TraineeDetail 
                  WHERE SUBBR = '0' 
                 ORDER BY MAXM DESC" ;

在traineesPerBlock中,当值被传递69时它给出110记录,我应该只给69.MAXM是一个双字段,也有记录具有相同的MAXM值。 任何解决方案?

3 个答案:

答案 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?