消息 245,級別 16,狀態 1,第 1 行 在將 varchar 值 '2,8' 轉換成數據類型 int 時失敗。


錯誤問題:

消息 245,級別 16,狀態 1,第 1 行
在將 varchar 值 '2,8' 轉換成數據類型 int 時失敗。

ps: 這是在后台分配菜單權限這個功能時出現的問題

一,解決方法:

將用戶表和菜單表用CHARINDEX方法來選擇存在的rows,返回集合,

SELECT  *
FROM    dbo.Meun m
WHERE   CHARINDEX(CONVERT(VARCHAR, m.Id), ( SELECT  AuthorityId
                                            FROM    dbo.UserInfo u
                                            WHERE   u.Id = '4'
                                          )) > 0;

二,而以上必須使用,CONVERT(VARCHAR, m.Id)將菜單Id類型轉換查詢,如不然則會第 1 行 在將 varchar 值 '2,8' 轉換成數據類型 int 時失敗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM