вопрос при работе с DataTable.
От: kalinkin  
Дата: 24.04.05 17:25
Оценка:
у меня есть DataTable
я с ней поработал. модифцировал некотрые строки, некоторые строки удалил.
как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.
вопрос при работе с DataTable.
От: Аноним  
Дата: 24.04.05 17:44
Оценка: 2 (1)
Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
вопрос при работе с DataTable.
От: Аноним  
Дата: 24.04.05 18:06
Оценка:
>?, 24.04.05 22:25
>вопрос при работе с DataTable.
Как вариант — воспользоваться свойством RowStateFilter объекта DataView.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: вопрос при работе с DataTable.
От: vvvoloshin1 Канада  
Дата: 24.04.05 18:52
Оценка: 2 (1)
Здравствуйте, kalinkin, Вы писали:

K>у меня есть DataTable

K>я с ней поработал. модифцировал некотрые строки, некоторые строки удалил.
K>как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.

IMHO после 30 минут возни можно и в форум написать! Посмотри RowState у каждого Row
Re: вопрос при работе с DataTable.
От: kalinkin  
Дата: 25.04.05 07:07
Оценка:
Здравствуйте, Bigheadman, Вы писали:

B>Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.


B>
данное сообщение получено с www.gotdotnet.ru

B>ссылка на оригинальное сообщение


в тот мо весь и прикол. что когда я получаю таблицу аналогичной структуры, она не содердит истинной информаци.
например если в исходной таблице я убиваю первую строку, то по методe GetChanges() я получаю таблицу в котороый все строки имеют состояние — Added. а это не есть истина (
Re[2]: вопрос при работе с DataTable.
От: kalinkin  
Дата: 25.04.05 07:09
Оценка:
Здравствуйте, vvvoloshin1, Вы писали:

V>Здравствуйте, kalinkin, Вы писали:


K>>у меня есть DataTable

K>>я с ней поработал. модифцировал некотрые строки, некоторые строки удалил.
K>>как мне отследить какие строки были модифицированны, а какие удалены или вставлены? 3 часа уже вожусь, не знаю.

V>IMHO после 30 минут возни можно и в форум написать! Посмотри RowState у каждого Row


а если эта Row уже была Delete? как тогда я узнаю? если ее нет в DataTable?
Re[2]: вопрос при работе с DataTable.
От: anton_t Россия  
Дата: 25.04.05 07:30
Оценка:
Здравствуйте, kalinkin, Вы писали:

K>Здравствуйте, Bigheadman, Вы писали:


B>>Методом GetChanges() можно получить таблицу аналогичной структуры, которая содержит только измененные строки. Потом в цикле анализируйте RowState. По этому свойству можно узнать была ли строка добавлена, изменена или удалена.


B>>
данное сообщение получено с www.gotdotnet.ru

B>>ссылка на оригинальное сообщение


K>в тот мо весь и прикол. что когда я получаю таблицу аналогичной структуры, она не содердит истинной информаци.

K>например если в исходной таблице я убиваю первую строку, то по методe GetChanges() я получаю таблицу в котороый все строки имеют состояние — Added. а это не есть истина (
Каким образом ты удаляешь первую строку? Вероятно
dataTable.Rows.Remowe(row)
? Правильно надо
row.Delete()
.
Re[3]: вопрос при работе с DataTable.
От: Ivanov Россия  
Дата: 25.04.05 07:50
Оценка:
K>а если эта Row уже была Delete? как тогда я узнаю? если ее нет в DataTable?

После Delete строка остается в DataTable до тех пор пока не вызовут DataTable.AcceptChanges().
Re[2]: вопрос при работе с DataTable.
От: hugo Австрия  
Дата: 25.04.05 08:00
Оценка:
Здравствуйте, 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();
Re[3]: вопрос при работе с DataTable.
От: vvvoloshin1 Канада  
Дата: 25.04.05 15:56
Оценка:
K>а если эта Row уже была Delete? как тогда я узнаю? если ее нет в DataTable?

А ты попробуй в коде !
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.