Answers:
我只有一个脚本,该脚本返回了插入的主键,并使用了
SELECT @@identity
在我的bigint主键上,使用long时出现强制转换错误-这就是为什么我开始此搜索的原因。至少在我看来,正确答案是该选择返回的类型为NUMERIC,它等于十进制类型。使用long将导致强制转换异常。
这是在多个Google搜索中(甚至在Stack Overflow上)检查答案的原因之一。
引用帮助我的数据库管理员:
... BigInt与INT64不同,无论它们看起来有多相似。部分原因是SQL经常将Int / BigInt转换为数值,这是常规处理的一部分。因此,当转到OLE或.NET时,所需的转换是NUMERIC到INT。
我们并不经常注意到,因为印刷价值看起来是一样的。”
使用长数据类型。
您可以使用long
type或Int64
在大多数情况下,C#中的long(int64)