天天看點

Access應用中的Select Top無效問題

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

  很早以前做asp+access的網站,就發現sql語句select top無效,不管top幾條都是全部出來,同樣的語句在sql2000中正常,邪門了,當時查查關于ACCESS中TOP 功能的一個問題,一直沒有解決,就偷懶用限定程式循環次數解決了。

  最近重寫深度學習(asp)網址導航(www.deepteach.com),又仔細查了一下資料。原來是access中對select top的語句支援有限,如果想在使用,要在查詢TOP語句的後面使用Order by,而且Order by排序字段必須是無重複值,如果有重複值的話,那麼這個TOP很可能會失效,會傳回所有記錄。

比如:

Select top 5 from 表 order by 性别,如果“性别”字段中有重複值,那麼access資料庫查詢時很有可能會顯示出所有的記錄來,此時top功能會失效的,但如果“性别”中無重複值,那麼top功能還是有效的。是以,在ACCESS中使用top功能要注意一下order by的字段是否會有重複值,為了保險起見,可以采用加入主鍵”的方式:Select top 5 from 表 order by 性别,id

  用主鍵作“不可能重複”的保障就可以防止此問題出現了!!

本文轉自 netcorner 部落格園部落格,原文連結:  http://www.cnblogs.com/netcorner/archive/2010/04/01/2912027.html ,如需轉載請自行聯系原作者