最近碰到一个问题,就是读取Access数据库中某个条件下前几条记录时候记录数不会按指定的出来,而是读取全部符合条件的记录。 如: sql="select top 10 * where kind=1 order by modifydate desc" 上面这种由于排序的字段为非主键,在产生重复的记录时候会使T
最近碰到一个问题,就是读取Access数据库中某个条件下前几条记录时候记录数不会按指定的出来,而是读取全部符合条件的记录。
如:
sql="select top 10 * where kind=1 order by modifydate desc"
上面这种由于排序的字段为非主键,在产生重复的记录时候会使TOP失效而读取整个条件内的所有记录到记录集。
通过修改,加上一个第二个排序依据id,则正常:
正确的代码为:
sql="select top 10 * where kind=1 order by modifydate desc,id desc"