I am working on my senior project and I am using C#.net and Microsoft Access to create a program that lets the user store information into a database. I have many tables but the primary table that mostly everything connects to is the customers table. Well I know how to insert, update and delete using C#. But I need to know how to retrieve the primary key from the customers table which happens to be an autonumber. I kind of understand that I need to use SCOPE_IDENTITY or @@IDENTITY. I just have no idea how. I have tried a couple ways without any success.

I've always run into issues with using the IDENTITY property in Access. If your using an autonumber, you could always just do something like:

SELECT MAX(autonumber_column_name) AS alias FROM table_name

Do that after your insert and it should return the last autonumber generated.

Hi

If your DB going to be affected by several procedures or triggers at the same time into your session, you have to use SCOPE_IDENTITY().

Example:

CREATE PROCEDURE prTable_Insert
@value1 varchar(16)

AS
INSERT INTO Table(field1) VALUES (@value1)
SELECT SCOPE_IDENTITY()
GO

This going to return the last value inserted by this store procedure, but if you use @@IDENTITY this going to return the last ID inserted in your sesion, and this value could be another inserted by another process or trigger out of this procedure executed in your actual session.

Good luck!!!

This question has already been answered. Start a new discussion instead.