我抓住最后一个rowid,我正在这样做 select @@IDENTITY
pk = (long)cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
我得到一个无效的类型转换bc这是int而不是long.为什么这不会很久?我能让它回归多久吗?
现在的解决方案是使用
pk = Convert.ToInt64(cmd.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)
使用SCOPE_IDENTITY ...这是正确的和十进制(38,0)无论如何......
SELECT CAST(SCOPE_IDENTITY() AS bigint)
Run Code Online (Sandbox Code Playgroud)
但是,您应该注意@@ IDENTITY 也是 十进制(38,0)
这是因为它必须包含任何可以自动编号的数据类型,例如decimal和bigint
编辑:
显然它是由拆箱引起的.因人而异.
| 归档时间: |
|
| 查看次数: |
2022 次 |
| 最近记录: |