0

私はcompactSQLを使用しています。

コミットの変更はできますが、自動インクリメント ID をテーブルに挿入する方法がわかりません。

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

行には、db に追加された行数が表示されますが、新しく追加された autoincement id を取得するにはどうすればよいですか。

ありがとう

4

1 に答える 1

0

最後のIDENTITY挿入「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を使用して(ストアドプロシージャを使用せずに)挿入時に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 に答える