Получение значения индекса. ADO.NET
От: Starpom Россия  
Дата: 07.06.07 09:32
Оценка:
Есть база вида:
Id(i), naim(c100), tmp(i)
Основной ключ в базе по id.
При добавлении новой записи идет инкрементация id через deault по хранимой (в базе ) процедуре. Что бы не вдаваться в алгоритм этой процед. будем считать, что она инкрементирует id на 1.
После добавления в базу мне нужно узнать ее id. Причем naim может быть не уникальным.

Мне пришлось вводить tmp и туда вписывать случайное число.
// DA - DataAdaptor
// DT - DataTable
// Сохраняем запись + получает id
this.m_DA_Cargo.Update(this.m_DTcargo);

// Т.к. в базу id автоматом не приходит, приходится перезагружать данные.
this.m_DTcargo.Clear();
this.m_DA_Cargo.Fill(this.m_DTcargo);

// Получаем id
foundRows = this.m_DTcargo.Select("tmp = 777"); //случайное число
id = (int)foundRows[0]["ID"];

Может у когото есть другой способ это реализовать. И хотоелось бы отказаться от Clear и Fill, уж больно долгие они.
ФЛАГ!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.