Получить Autonumber из недавно вставленной записи в Access 2007 с помощью Enterprise Library 4.1 - PullRequest
1 голос
/ 07 апреля 2010

Прошло много лет с тех пор, как я последний раз использовал Access в качестве бэк-энда, но меня заставили. Я использую Enterprise Library 4.1, блок приложения для доступа к данным ... с .NET 3.5, и я хотел бы узнать, как лучше всего (пример кода, если это возможно) написать запрос на вставку, который автоматически вернет мне вновь вставленный автоматический номер ... или если это невозможно сделать за один шаг, как вы порекомендуете это сделать?

спасибо за вашу помощь.

Ответы [ 3 ]

3 голосов
/ 08 апреля 2010

При одном подключении:

  1. выполнить инструкцию INSERT.

  2. затем получите результат SELECT @@ IDENTITY, который вернет значение Autonumber, вставленное в шаге 1.

Другими словами, он похож на SQL Server (и был с 1999 года, когда была представлена ​​Jet 4, включая поддержку SELECT @@ IDENTITY).

0 голосов
/ 07 апреля 2011

После дальнейших исследований это просто невозможно сделать в Access за один шаг , что я и искал. Я предоставлю ссылки на страницы, где я нашел подтверждение об ограничении, когда я приеду.

0 голосов
/ 12 апреля 2010

Вот как я делаю в SQL Server.Это вернет первичный ключ автономера в выходной переменной

CREATE PROCEDURE [dbo]. [TEST] (

@ p_ID NUMERIC (9,0) OUT,

@ p_NAMENVARCHAR (150)

КАК НАЧАТЬ

   INSERT INTO EMR_INV_MAST_ORDERSET(NAME)
  VALUES (@p_NAME)
  SELECT @p_ID= SCOPE_IDENTITY()

END

...