今天,在開發的過程中發現了一個特別奇怪的問題:access中like查詢時候,在Access數據庫中執行,發現可以查詢出結果,這是在數據庫上執行,select * from KPProj where KpName like '*測試*',但是同樣的語句在c#程序中卻查詢為空,這是什么情況呢?
這個問題真讓人糾結,通過以前的開發經驗,access中like需要用*號,但是sqlserver oracle數據庫中要用標準的%,為什么此時就不行呢?經過搜索資料,最后發現是連接access驅動程序的問題,以前用的都是mdb,數據庫是accdb,然后使win7 64位開發系統,由于我的程序中連Access用的是oledb驅動程序,所以在這里 不能用“*”,必須用“%”。如果用的是DAO訪問Access數據庫,則必須用“*”。
? ? ??發現并不是遇到access就用*,所以要根據實際的驅動來確定;