簡體   English   中英

“無法將參數值從int64轉換為int32”

[英]“Failed to convert parameter value from int64 to int32”

我正在向SQL Server表中插入一些值。 當我從前端獲取值時,它們是字符串。 所以我需要先將它們轉換為int ,然后才能將它們插入表中。

我正在使用此代碼:

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

我想將此x插入表格中,類型為numeric(18,0)的列中。

進行此轉換時,出現錯誤

無法將參數值從int64轉換為int32

而我的所有值都只有1000左右。

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

您的數據庫需要一個Int32類型的值。 由於潛在的信息丟失,SQL Server不會將64位數字隱式轉換為32位數字。

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

對於sql server端的System.Int64(長整數),必須使用bigint數據類型。 http://msdn.microsoft.com/en-us/library/ms187745.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM