作者在Access數據庫程序項目開發過程中,遇到了幾個問題,讓我糾結了許久,特拿出來備忘,希望對大家有用。這些問題都是因為access數據庫的自身特性造成的。
1、Access 不支持top 0,如果用top 0,要么返回空表(無表結構、無字段),要么出錯。所以分頁查詢時需要判斷先。
2、access數據庫不支持不等于(“!=”)語法,需要改為“<>”。汗,這個和sql server等還是不一樣的,害得我查了好久。。
3、如果排序列有重復值,用select top取前幾條會錯亂,有時候會把所有數據查出來了。解決方法:
a) select top 10 ID,Title,CreateTime,Click from News ORDER BY Click DESC 這句寫法咋一看 很多人都覺得會沒問題 很可惜出現了我剛描述的排序問題
解決方法 select top 10 ID,Title,CreateTime,Click from (select ID,Title,CreateTime,Click from News ORDER BY Click DESC) AS TABLERSULT
也就是用兩個select嵌套查詢就可以了。雖然性能方面有損失,但是目前看來也只能這樣了。