做了一個 項目本地測了沒問題發布到正式環境上,幾天之后有個統計頁面報錯了,看了本地是正常的,
於是就排查,發現 ID 列 在轉時候 由於用了 Convert.TonInt16 長度不夠, 數據庫的ID 已經到了33000。 自己也知道 Convert.TonInt16 、
Convert.TonInt32、Convert.TonInt64、int.parse 使用有區別的, 但是做項目時候沒想到這里來,隨手就來了一個 int16 ,
這么一隨手日后就有bug了,以后寫代碼要嚴謹點。又去溫習了一遍每種使用的范圍。
int 范圍 -2,147,483,648 到 2,147,483,647
int16-數值范圍:-32768 到 32767
int32-數值范圍:-2,147,483,648 到 2,147,483,647
int64-數值范圍:-9223372036854775808 到 9223372036854775808
附幾個相關地址:
16 進制與2進制的轉換:https://blog.csdn.net/judongbin123/article/details/81093275。
Sqlserver數據庫中char、varchar、nchar、nvarchar的區別及查詢表結構 :https://www.cnblogs.com/liuqifeng/p/10405121.html
為什么nvarchar(10)可以存10個漢字,varchar(10)只能存5個漢字 :https://zhidao.baidu.com/question/233079122.html