我正在使用compactsql。
我能够进行提交更改,但不知道如何在表中插入自动启动ID。
Dim row As Integer = CustomerTableAdapter.Update(ArfDynamicsDataSet.Customer)
该行显示了DB中添加的行数,但是如何获得新添加的自动ID ID。
谢谢
您可以使用commandbuilder和dataAdapter的scope_identity获取最后的身份插入"
在存储过程中:
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在插入时检索身份列值(不使用存储的Proc)?
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)。2