在SQL中有一屬性的資料型別是varchar,大部分建立的資料都是"數字"字串,極少情況下會遇到單一英文字母。在sql server中建立procedure並測試,遇到該筆單一英文字母的能夠正常執行並顯示。
但是,在asp.net程式中執行時,會exception出錯誤訊息,「將資料類型從 varchar 轉換到 float 時發生錯誤」。
我有檢查過procdure沒有相關的型別轉換,程式方面目前追蹤下來也沒有,
請問還有可能哪裡有錯誤或是我可能哪裡沒有檢查到?
要先確定你 asp.net 連接 資料庫的方式是什麼?
是用 eneity frame work 還是 第三方ORM 還是用 API Json 的方式~~
估計是中間過程哪邊有問題
先查出有問題的欄位資料(例如:SELECT * FROM TABLEA WHERE 欄位='有問題的資料')
再往下執行
01.先從Procedure執行有問題的資料(若沒問題跳第二點)
02.查看程式接取的資料欄位是不是"字串"。
如果你預期就是數字計算~
那麼你要在SQL就要先防呆~
只抓是數字格式的字串就好了~
select 文字欄位
from 表格
where IsNumeric(文字欄位) > 0