由於需要測試資料庫的連通性,測試專案使用了「方便」的access來作為後台資料庫,但由於它太「方便」了,以致於半天的時間都葬送在了它隱藏的關鍵字上...
專案使用了nhibernate來作為資料庫中間層,並使用nunit進行單元測試。可當我配置好所有模型類及配置檔案之後,測試環境竟然丟擲了這個錯誤:
nhibernate.hibernateexception : 字段定義語法錯誤。
----> system.data.oledb.oledbexception : 字段定義語法錯誤。
遂上網搜尋,初步判斷為access關鍵字衝突,由於以前的專案由於資料庫關鍵字衝突出現過此類問題,所以模型設計過程中已經注意並避開了它,但是,貌似有漏網之魚,於是又搜出access的關鍵字列表,乙個字段乙個字段對比,未發現任何衝突。
無奈中只能拿出最後一招,乙個字段乙個欄位的進行修改,最後在n個小時之後,發現了乙個關鍵字列表中不存在的關鍵字:position
Access中關鍵字in的引數問題
最近做的專案中需要在sql語句中使用in,類似於下面的語句 select from from list where year year and month month and memberid in memberid order by count 引數設定如下 oledbparameter cmdp...
被忽略的 explicit 關鍵字
所有單引數的建構函式都必須是explicit的,這是為了防止後台悄悄進行的型別轉換,舉個例子如下 定義乙個類 class intcell private int intvalue 對類做如下例項化 intcell obj obj 37 如果不加上explicit關鍵字的話,這將順利通過編譯,原因是c...
access語法遇見關鍵字的解決辦法
如果你的資料庫的表的設計包含了access包含的關鍵字 常用的system,master,admin,user,useres,userid,money等 則在插入更新的時候會出現 語法錯誤 例如 update ans nairetext set text 123456 where userid 19...