Здравствуйте, vitz, Вы писали:
V>Здравствуйте, exp131, Вы писали:
E>>Добрый день!
E>>Ситуация следующая, есть объект DataSet связанный с таблицей БД у которой есть поле id (автоинкементное). Вставляю в DataSet новую строку (естественно id не указываю). После этого вызываю метод Update(). Теперь нужно узнать id этой записи (т.е. какой id присвоил Sql сервер).
E>>Заранее благодарен за ответ.
E>>
данное сообщение получено с www.gotdotnet.ru
E>>ссылка на оригинальное сообщение
V>Для MS SQL есть пременная @@IDENTITY которая содержит последнее значение астоикремента (для БД !!!)
V>IDENT_CURRENT('table_name') для таблицы
Спасибо, все работает, но есть небольшой глюк.
Написал хранимую процедуру которая добавляет запись в таблицу и возвращает текущий id. Запись в таблицу добавляется но, иногда возникает ошибка вот кусок кода:
orderSet.Tables["Заказы"].Rows.Add(newOrder);
aOrders.Update(orderSet.Tables["Заказы"]); //запись в таблицу добавляется (проверял)
OrderID = (int)newOrder["id"]; //но на эту строчку выдает ошибку "Specified cast is not valid.", хотя при
//повторном обращении все нормально - выдает id новой записи