Re: Получение значения индекса. ADO.NET
От: Green_A  
Дата: 07.06.07 10:04
Оценка: -1
Здравствуйте, Starpom, Вы писали:

S>Есть база вида:

S>Id(i), naim(c100), tmp(i)
S>Основной ключ в базе по id.
S>При добавлении новой записи идет инкрементация id через deault по хранимой (в базе ) процедуре. Что бы не вдаваться в алгоритм этой процед. будем считать, что она инкрементирует id на 1.
S>После добавления в базу мне нужно узнать ее id. Причем naim может быть не уникальным.

S>Мне пришлось вводить tmp и туда вписывать случайное число.

S>
S>// DA - DataAdaptor
S>// DT - DataTable
S>// Сохраняем запись + получает id
S>this.m_DA_Cargo.Update(this.m_DTcargo);

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

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

S>Может у когото есть другой способ это реализовать. И хотоелось бы отказаться от Clear и Fill, уж больно долгие они.

А чем тебе select max(Id) не угодил?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.