Access裏的Case效果 “IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失敗!”的解決方法!

我用的是access數據庫。爲了實現數據表裏的1表示"超級管理員",0表示"新聞用戶",我在讀取數據的時候使用了case ... when ...語句:

select (case usercalss when 1 then '超級管理員' else '新聞用戶' end) from admin

結果出現瞭如下錯誤:

IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失敗。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Data.OleDb.OleDbException: IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失敗。

解決方法:

    將"case"語句改用"iif"函數,問題解決了!實現上述效果的sql語句如下:
select id,username,iif(userclass=1,'超級管理員','新聞添加用戶') as userclass from admin

 
發佈了135 篇原創文章 · 獲贊 6 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章