gpt4 book ai didi

sql - 为什么@@Identity 返回 null?

转载 作者:行者123 更新时间:2023-12-04 22:35:22 26 4
gpt4 key购买 nike

我有一个 .NET 2010 应用程序命中 SQL2000 db。代码非常基础。当我插入一条记录时,记录被插入,但没有返回id。 id 列是一个 int,它是一个 Idetity。这是存储过程...

ALTER PROCEDURE Insert_Vendor

@CorpID as varchar(255),
@TaxpayerID as varchar(255)
AS

Insert into dbo.Vendor
(
vdr_CorpID,
vdr_TaxpayerID
)
values
(
@CorpID,
@TaxpayerID
)

IF @@error <> 0
BEGIN
RETURN -1
END
ELSE
RETURN @@Identity
GO

而在接收端...
 int myID = (int)(db.ExecuteScalar(dbCommand));

最佳答案

  • 您应该始终使用 SCOPE_IDENTITY()
  • NULL 不能通过 RETURN 从存储过程返回。你会得到一个 SQL 警告,它会返回零。
  • ExecuteScalar 查找记录集的第一行第一列。上面没有记录集

  • ... 所以你会使用 SELECT SCOPE_IDENTITY()不是 RETURN SELECT SCOPE_IDENTITY()

    关于sql - 为什么@@Identity 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3876178/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com