C#中bigint的等价物是什么?

时间:2010-01-21 22:43:20

标签: c# .net sql-server bigint

在处理C#中的值时我应该使用什么,这对于SQL Server数据库来说是非常重要的?

11 个答案:

答案 0 :(得分:306)

这对应于(或 Int64 ),即64位整数。

虽然如果数据库中的数字恰好足够小,并且您不小心使用了Int32等,那么你会没事的。但是 Int64 肯定会持有它。

如果你使用更小的东西并且需要全尺寸,你会得到错误吗? 堆栈溢出!耶!

答案 1 :(得分:54)

Int64直接映射到BigInt

Source

答案 2 :(得分:10)

我刚刚有一个脚本返回了插入的主键并使用了

SELECT @@identity

在我的bigint主键上,我使用long得到了一个强制转换错误 - 这就是我开始搜索的原因。至少在我的情况下,正确的答案是该选择返回的类型是NUMERIC,它等同于十进制类型。使用long将导致强制转换异常。

这是在多个Google搜索中检查答案的一个原因(甚至是Stack Overflow!)。

引用帮助我的数据库管理员:

  

... BigInt与INT64不同,无论它们看起来多么相似。部分原因是SQL会经常将Int / BigInt转换为Numeric作为正常处理的一部分。因此,当它转到OLE或.NET时,所需的转换是NUMERIC到INT。
  
  我们通常不会注意到,因为印刷的价值看起来是一样的。“

答案 3 :(得分:5)

您可以使用long类型或Int64

答案 4 :(得分:4)

使用长数据类型。

答案 5 :(得分:2)

我认为等效的是Int64

答案 6 :(得分:1)

sql中的 int 直接映射到 int32 也称为基本类型,即 C#中的 int 而< / p> Sql Server中的 bigint 直接映射到 int64 也称为基本类型,即 C# long / p>

如果定义了biginteger到整数,则显式转换here

答案 7 :(得分:0)

在大多数情况下,在c#中都是long(int64)

答案 8 :(得分:0)

如果您在数据库表中使用 bigint ,则可以在C#中使用 Long

答案 9 :(得分:0)

int(64) 或 long 数据类型相当于 BigInt。

答案 10 :(得分:-2)

我正在处理一个bigint数据类型,以便在DataGridView中显示并使其像这样

something = (int)(Int64)data_reader[0];