SCOPE_IDENTITY() return 1

SCOPE_IDENTITY() return 1

我在 SQL Server 2012 中使用此代码:

INSERT INTO [dbo].[test] ([t]) 
VALUES ('tyy');

SELECT [Id] 
FROM [dbo].[test] 
WHERE ([Id] = SCOPE_IDENTITY())

它 returns 最后插入的 ID 并且效果很好。

但是 vb.net 2017 和 .net Framework 4.7.2 中的相同代码不起作用 - 对于每个插入,它 returns 1.

这是代码:

Dim id = TestTableAdapter.InsertQuery("nvnh")

Table:

CREATE TABLE [dbo].[test] 
(
    [Id] INT IDENTITY (1, 1) NOT NULL,
    [t]  NVARCHAR (50) NULL,
    CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED ([Id] ASC)
);

谢谢大家。 我终于找到了解决方案。

我已经使用了以上任何解决方案,

但是查询 eqcutemodeNonQuery ,所以它给了我插入行的计数 我将其更改为 Scalar