我用的是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