我將少量值插入到SQL Server表中。當我從前端獲取值時,它們是字符串。所以我需要先將它們轉換爲int
,然後才能將它們插入表格中。「無法將參數值從int64轉換爲int32」
我使用這個代碼:
Int64 x = Convert.ToInt64(some string value);
這x
我要插入到表中,進入numeric(18,0)
類型的列。
在做這種轉換,我得到一個錯誤
未能參數值從Int64類型轉換爲int32
,而我所有的值就像1000年左右。
我將少量值插入到SQL Server表中。當我從前端獲取值時,它們是字符串。所以我需要先將它們轉換爲int
,然後才能將它們插入表格中。「無法將參數值從int64轉換爲int32」
我使用這個代碼:
Int64 x = Convert.ToInt64(some string value);
這x
我要插入到表中,進入numeric(18,0)
類型的列。
在做這種轉換,我得到一個錯誤
未能參數值從Int64類型轉換爲int32
,而我所有的值就像1000年左右。
使用int x = Convert.ToInt32(some string value)
它應該工作。
您的db預計值爲Int32
。由於潛在的信息丟失,SQL Server不會將64位數字隱式轉換爲32位數字。
的Int64
範圍爲−9,223,372,036,854,775,808
到9,223,372,036,854,775,807
,正如你可以看到的是長19個字符(不包括引號),因此不會在18你數值範圍適合如果你真的想使用少量的Int64
如1000,您應該將列修改爲數據類型bigint
。
對於System.Int64(long)在sql server端,你必須使用bigint數據類型。 http://msdn.microsoft.com/en-us/library/ms187745.aspx
看起來像一個足夠好的答案,奇蹟爲什麼投票 – Habib
我用你的代碼幾個變化「int x =(int)Convert.ToInt64(一些字符串值)」,現在它的工作正常。無論如何非常感謝你的帖子。親愛的 – user1766397
@ user1766397很高興能幫到你。如果答案有幫助,請通過激活左側的複選標記來接受答案。歡迎來到stackoverflow! –