[英]“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,808
到9,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.