2012-10-23 138 views
1

我將少量值插入到SQL Server表中。當我從前端獲取值時,它們是字符串。所以我需要先將它們轉換爲int,然後才能將它們插入表格中。「無法將參數值從int64轉換爲int32」

我使用這個代碼:

Int64 x = Convert.ToInt64(some string value); 

x我要插入到表中,進入numeric(18,0)類型的列。

在做這種轉換,我得到一個錯誤

未能參數值從Int64類型轉換爲int32

,而我所有的值就像1000年左右。

回答

4

使用int x = Convert.ToInt32(some string value)它應該工作。

您的db預計值爲Int32。由於潛在的信息丟失,SQL Server不會將64位數字隱式轉換爲32位數字。

+1

看起來像一個足夠好的答案,奇蹟爲什麼投票 – Habib

+0

我用你的代碼幾個變化「int x =(int)Convert.ToInt64(一些字符串值)」,現在它的工作正常。無論如何非常感謝你的帖子。親愛的 – user1766397

+0

@ user1766397很高興能幫到你。如果答案有幫助,請通過激活左側的複選標記來接受答案。歡迎來到stackoverflow! –

2

Int64範圍爲−9,223,372,036,854,775,8089,223,372,036,854,775,807,正如你可以看到的是長19個字符(不包括引號),因此不會在18你數值範圍適合如果你真的想使用少量的Int64如1000,您應該將列修改爲數據類型bigint

相關問題