Re[2]: Получения id последней изменной записи в бд
От: Аноним  
Дата: 02.10.06 11:41
Оценка:
Здравствуйте, 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 новой записи
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.