Получить значение идентификатора из вставки с помощью вызова обновления набора данных .net - PullRequest
0 голосов
/ 06 мая 2010

Вот пример кода, который вставляет запись в таблицу базы данных:

Dim ds As DataSet = New DataSet()
da.Fill(ds, "Shippers")

Dim RowDatos As DataRow
RowDatos = ds.Tables("Shippers").NewRow
RowDatos.Item("CompanyName") = "Serpost Peru"
RowDatos.Item("Phone") = "(511) 555-5555"
ds.Tables("Shippers").Rows.Add(RowDatos)
Dim custCB As SqlCommandBuilder = New SqlCommandBuilder(da)
da.Update(ds, "Shippers")

Вставляет строку в Таблицу отправителей, идентификатор отправителя значение идентичности. Мой вопрос, как я могу получить Значение идентификатора, генерируемое при вставке новой строки в Стол Грузоотправителей.

Я провел несколько поисков в Интернете, и источники, которые я видел в сети, не отвечают конкретно на него и не говорят о хранимых процедурах. Любая помощь будет оценена. Спасибо!

Ответы [ 3 ]

3 голосов
/ 02 августа 2013

Вот отличная статья несколько лет назад, которая дает прекрасное объяснение, а также демонстрационный пример, как этого добиться. Включает скриншоты, показывающие процесс.

Статья MSDN о вставке адаптера данных с возвращением идентификатора строки

Ура!

Peter

1 голос
/ 06 мая 2010

Вместо использования SqlCommandBuilder вы можете вызвать хранимую процедуру для вставки. В хранимой процедуре вы можете вернуть значение IDENTITY в качестве параметра OUTPUT.

См. http://msdn.microsoft.com/en-us/library/ks9f57t0(VS.71).aspx для примера.

0 голосов
/ 06 мая 2010

Вы можете использовать IDENT_CURRENT () .

SELECT IDENT_CURRENT("Shippers") AS CurrentIdentityShippers;
...