Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить, что данные в Dataset были изменены, Выход из программы 
V
    Опции темы
vlsaf
Дата 21.11.2007, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



Подскажите, как лучше поступают в сл. случае:

Юзер что-то делал в программе, потом пошел покурить, а когда пришел за комп, то закрыл прогу.
Мне надо как-то определить, менял юзер данные, и если менял и не записался, то прога должна предложить перед выходом записать данные.

Вот собственно и вопрос. Как это лучше организовать.
Можно ли определить, изменились ли таблицы с момента последнего обновления или нет?
Может у Tabelleadapter или у Dataset есть свойства, за это отвечающие?

Кто сталкивался?
PM   Вверх
thomas
Дата 21.11.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



vlsaf, 
Цитата

Dataset есть свойства, за это отвечающие?

Да. Смотри в сторону DataRow.RowState
Если пользователь что-то поменял в таблицах датасета, то меняются соответствующие свойства
посмотри тут

Добавлено через 3 минуты и 40 секунд
Я это использовал перед вызовом Update для ДатаСет. Сначала проверял состояние строк, если были внесены изменения(RowState.Modifed) и(или) добавлена новая строка(RowState.Added), то выполнялось обновление.

Добавлено через 4 минуты и 43 секунды
ЗЫ
Вечером вернусь из школы, поищу пример сода. Там не много пара строчек.
Успехов.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
vlsaf
Дата 21.11.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



На худой конец и Row пойдет. Но это не очень красиво.

Если у меня в таблице 1000 строк, то для того, чтобы определить, не изменилась ли какая-то строка я должен в цикле перебрать все строки ? 

Все время пользоваться циклами???

Можно, конечно таким вот образом
Код
foreach (DataRow row in this.myDataSet.myTable) 
if (row.RowState != DataRowState.Unchanged) 
{
    MessageBox.Show("!!!");
    break;
}






Это сообщение отредактировал(а) vlsaf - 21.11.2007, 18:45
PM   Вверх
1stain
Дата 21.11.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 5
Всего: 40



Код

        public bool NeedUpdate(DataSet ds)
        {
            DataSet _tempDS = ds.GetChanges(DataRowState.Modified);
            return _tempDS == null;
        }


з.ы. бывалый я только в статусе, а на самом деле я еще сам учусь smile
иначе сразу бы написал вариант
DataSet.HasChanges()

з.з.ы. MSDN рулит, как всегда

Это сообщение отредактировал(а) 1stain - 21.11.2007, 18:57


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
vlsaf
Дата 21.11.2007, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



Ага. Это получше будет.

Спасибо бывалым людям smile
Вопрос снят !!!

Это сообщение отредактировал(а) vlsaf - 21.11.2007, 19:03
PM   Вверх
thomas
Дата 22.11.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



1stain, 
 smile 
А слона то, я и не заметил.
Хотя ведь сам написал. 
Цитата

Цитата

Dataset есть свойства, за это отвечающие?

Да

И тут же сам увел в сторону.  smile 
Да, и на старуху бывает проруха.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.