c# - 在没有输出变量的存储过程中使用 Select Scope_Identity()
问题描述
我正在尝试使用我无法更改的供应商存储过程。在 C# 中,我需要这个Scope_Identity
值。如果可以的话,我会设置@ID
为输出变量。在 SQL Developer 中运行该过程确实会返回正确的 ID。
CREATE PROCEDURE [dbo].[spTest]
(@CountryName nvarchar(20))
AS
DECLARE @ID int
SET NOCOUNT OFF;
INSERT INTO [dbo].[CountryImages]([CountryName] )
VALUES (@CountryName );
SELECT @ID = SCOPE_IDENTITY()
IF @ID > 0
BEGIN
RETURN @ID
END
GO
我已经尝试过了,但是返回了 null 。
C#
....
cmd.Parameters.AddWithValue("@CountryName", "abc");
conn.Open();
var ID = (int)cmd.ExecuteScalar();
谢谢
解决方案
推荐阅读
- hyperledger-fabric - 超级账本结构 V1.3 中存储的块在哪里
- android - 未解决的参考:RecyclerView 尽管实施了支持:appcompat-v7:28.0.0
- swagger - Swagger 编辑器不显示多部分表单请求参数
- mongodb - MongoDB:按年汇总结果
- pdf - Chrome 查看器 pdf 按钮不适用于 jsPDF
- angular5 - 如何测试注入另一个服务的角度服务
- python - 导出到txt 哪些子文件夹是空的?
- javascript - 将 JSON 接口转换为数组
- javascript - 由于调整 svg 元素的大小,鼠标事件不匹配
- multithreading - 硬件多线程和同时多线程 (SMT)