у меня есть DataTable
я с ней поработал. модифцировал некотрые строки, некоторые строки удалил.
как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.
Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.
Здравствуйте, kalinkin, Вы писали:
K>у меня есть DataTable K>я с ней поработал. модифцировал некотрые строки, некоторые строки удалил. K>как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.
IMHO после 30 минут возни можно и в форум написать! Посмотри RowState у каждого Row
Здравствуйте, Bigheadman, Вы писали:
B>Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.
B>данное сообщение получено с www.gotdotnet.ru B>ссылка на оригинальное сообщение
в тот мо весь и прикол. что когда я получаю таблицу аналогичной структуры, она не содердит истинной информаци.
например если в исходной таблице я убиваю первую строку, то по методe GetChanges() я получаю таблицу в котороый все строки имеют состояние — Added. а это не есть истина (
Здравствуйте, vvvoloshin1, Вы писали:
V>Здравствуйте, kalinkin, Вы писали:
K>>у меня есть DataTable K>>я с ней поработал. модифцировал некотрые строки, некоторые строки удалил. K>>как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.
V>IMHO после 30 минут возни можно и в форум написать! Посмотри RowState у каждого Row
а если эта Row уже была Delete? как тогда я узнаю? если ее нет в DataTable?
Здравствуйте, kalinkin, Вы писали:
K>Здравствуйте, Bigheadman, Вы писали:
B>>Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.
B>>данное сообщение получено с www.gotdotnet.ru B>>ссылка на оригинальное сообщение
K>в тот мо весь и прикол. что когда я получаю таблицу аналогичной структуры, она не содердит истинной информаци. K>например если в исходной таблице я убиваю первую строку, то по методe GetChanges() я получаю таблицу в котороый все строки имеют состояние — Added. а это не есть истина (
Каким образом ты удаляешь первую строку? Вероятно
Здравствуйте, kalinkin, Вы писали:
K>Здравствуйте, Bigheadman, Вы писали:
B>>Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.
B>>данное сообщение получено с www.gotdotnet.ru B>>ссылка на оригинальное сообщение
K>в тот мо весь и прикол. что когда я получаю таблицу аналогичной структуры, она не содердит истинной информаци. K>например если в исходной таблице я убиваю первую строку, то по методe GetChanges() я получаю таблицу в котороый все строки имеют состояние — Added. а это не есть истина (
Это не есть истина, потому что после добавления начальной информации в таблицу необходимо делать DataTable.AcceptChanges().
Re: вопрос при работе с DataTable.
От:
Аноним
Дата:
25.04.05 08:02
Оценка:
Здравствуйте, kalinkin, Вы писали:
K>у меня есть DataTable K>я с ней поработал. модифцировал некотрые строки, некоторые строки удалил. K>как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.
Если у тебя в DataSet'e только одна таблица, или остальные таблицы заведомо не меняются можешь провеять наличие изменений через DataSet.HasChanges(). А можешь и отдельный DataSet для нее сделать.
А зачем тебе нужно вручную отслеживать изменения?
Вызови нечто вроде
DbDataAdapter.Update(DataSet, bindName);
DataSet.AcceptChanges();