0

我正在使用compactSQL。

我能够进行提交更改,但不知道如何将自动增量 ID 插入表中。

  Dim row As Integer = CustomerTableAdapter.Update(ArfDynamicsDataSet.Customer)

该行显示在 db 中添加的行数,但我怎样才能获得新添加的 autoincement id。

谢谢

4

1 回答 1

0

您可以获得最后一个 IDENTITY Insert "Using SCOPE_IDENTITY with CommandBuilder and DataAdapter"

在存储过程中:

CREATE PROCEDURE dbo.InsertCategory
  @CategoryName nvarchar(15),
  @Identity int OUT
AS
INSERT INTO Categories (CategoryName) VALUES(@CategoryName)
SET @Identity = SCOPE_IDENTITY()

在 VB.net 中:

SqlParameter identParam = new SqlParameter("@Identity", SqlDbType.BigInt, 0, pKeyName);
identParam.Direction = ParameterDirection.Output;

请查看以下链接:

可以使用 SqlCommandBuilder(不使用存储过程)在插入时检索 IDENTITY 列值吗?

http://www.codeproject.com/Tips/288850/Using-SCOPE_IDENTITY-with-CommandBuilder-and-DataA

http://msdn.microsoft.com/en-us/library/vstudio/ks9f57t0(v=vs.100).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

于 2012-11-07T14:05:47.257 回答