Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Удаление строк из датасет / 25 сообщений из 64, страница 1 из 3
17.08.2016, 16:52
    #39293427
Удаление строк из датасет
Здравствуйте.

У меня впервые возникла проблема с удалением строк из датасет. Не пойму, в чём дело.
Ситуация следующая:
у меня есть датасет ZdanieInfo.ClassSet.myDs.Tables["ZdanieConstruction"], содержащий 17 строк.
В цикле я удаляю 2 строки.
Вывожу сообщение с количеством строк до удаления и после.
Сообщение до удаления показывает 17 строк и после удаления 17 строк. Вроде бы не удаляет.
Но этот сет является источником данных для Datagridview и в гриде показывается уже 15 строк. Но этот грид уже на другой форме, а мне нужно в сете здесь еще некоторые действия выполнить с 15 строками.
Подскажите, пожалуйста, кто знает в чём может быть дело. Заранее большое спасибо.

Привожу код удаления строк, С#:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
MessageBox.Show(ClassSet.myDs.Tables["ZdanieConstruction"].Rows.Count.ToString(), "до удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
            
            DataRow nrowZdanieConstruction1;

            for (int j = 0; j < ClassSet.myDs.Tables["ZdanieConstruction"].Rows.Count; ++j)
            {
                if (ClassSet.myDs.Tables["ZdanieConstruction"].Rows[j]["KonstrType"].ToString().Trim() == "Пол по грунту".Trim()
                    || ClassSet.myDs.Tables["ZdanieConstruction"].Rows[j]["KonstrType"].ToString().Trim() == "Стена в грунте".Trim())
                {
                    nrowZdanieConstruction1 = ClassSet.myDs.Tables["ZdanieConstruction"].Rows.Find(ClassSet.myDs.Tables["ZdanieConstruction"].Rows[j]["Id_OKPirog"].ToString());
                    nrowZdanieConstruction1.Delete();                    
                }
            }
            MessageBox.Show(ClassSet.myDs.Tables["ZdanieConstruction"].Rows.Count.ToString(), "после удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
...
Рейтинг: 0 / 0
17.08.2016, 17:04
    #39293434
Удаление строк из датасет
Сет объявила в отдельном классе
Код: c#
1.
public static System.Data.DataSet myDs;
...
Рейтинг: 0 / 0
17.08.2016, 17:11
    #39293442
VAlexey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Петрова Елена,

После выполнения метода Delete() у DataRow меняется свойство RowState на DataRowState.Deleted, но строка остается.
Вообще это нужно, чтобы можно было сохранить изменения в БД.
Если это не требуется, то можно вызвать метод AcceptChanges() у DataRow либо у всей таблицы, либо у всего DataSet и тогда строки удалятся совсем.
...
Рейтинг: 0 / 0
17.08.2016, 17:12
    #39293443
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Петрова Елена,
Леночка, солнышко, а в справку лень глянуть?
https://msdn.microsoft.com/ru-ru/library/system.data.datarow.delete(v=vs.110).aspx
...
Рейтинг: 0 / 0
17.08.2016, 17:21
    #39293456
Удаление строк из датасет
спасибо
...
Рейтинг: 0 / 0
17.08.2016, 19:33
    #39293521
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
зачем в 2016 использовать датасет. у них и раньше назначение было очень специфическое (судя по вопросу ТС - это не тот случай). а сейчас вообще не актуально
...
Рейтинг: 0 / 0
17.08.2016, 20:42
    #39293541
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Петрова Елена
Код: c#
1.
for (int j = 0; j < ClassSet.myDs.Tables["ZdanieConstruction"].Rows.Count; ++j)


Это ничего, что первая строка не участвует в рассчетах?
...
Рейтинг: 0 / 0
17.08.2016, 20:44
    #39293542
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик Трунькинзачем в 2016 использовать датасет. у них и раньше назначение было очень специфическое (судя по вопросу ТС - это не тот случай). а сейчас вообще не актуально
И вот, наконец, подтянулись те, кто не понимает что такое база данных, не понимает что такое DataSet и не умеют с ним работать
...
Рейтинг: 0 / 0
17.08.2016, 20:46
    #39293544
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Петрова Елена
Код: c#
1.
nrowZdanieConstruction1.Delete();           


Всего-то надо после этого вставить строку

Код: c#
1.
ClassSet.myDs.Tables["ZdanieConstruction"].AcceptChanges();
...
Рейтинг: 0 / 0
17.08.2016, 20:48
    #39293545
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Cat2Мойшик Трунькинзачем в 2016 использовать датасет. у них и раньше назначение было очень специфическое (судя по вопросу ТС - это не тот случай). а сейчас вообще не актуально
И вот, наконец, подтянулись те, кто не понимает что такое база данных, не понимает что такое DataSet и не умеют с ним работать

ну, уважаемый, Cat2, растолкуйте, чем этот старый зверь - DataSet - заслуживает право на жизнь в современных реалиях
...
Рейтинг: 0 / 0
17.08.2016, 20:52
    #39293549
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик ТрунькинCat2пропущено...

И вот, наконец, подтянулись те, кто не понимает что такое база данных, не понимает что такое DataSet и не умеют с ним работать

ну, уважаемый, Cat2, растолкуйте, чем этот старый зверь - DataSet - заслуживает право на жизнь в современных реалиях
Это Вы объявляете, что он плох и не моден. У DataSet презумпция невиновности.
...
Рейтинг: 0 / 0
17.08.2016, 20:58
    #39293552
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Cat2Мойшик Трунькинпропущено...


ну, уважаемый, Cat2, растолкуйте, чем этот старый зверь - DataSet - заслуживает право на жизнь в современных реалиях
Это Вы объявляете, что он плох и не моден. У DataSet презумпция невиновности.

Тогда я скажу. Как глобально/локальное хранилище данных, якобы из коробки "синхронизирующееся" с основной БД, я пытался его использовать. Геморою огреб, да и вообще такое - пишется кастомно. Типизации нет. SQL вкорячивается прямо внутрь (фу так делать). Не тестируемое. Сопровождать - адд, легче выкинуть, и просто на ADO написать. Ну и еще много чего, я уже не помню, лет ~10 назад про него забыл
...
Рейтинг: 0 / 0
17.08.2016, 21:22
    #39293559
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик Трунькин,
ну почему же, многие первоклассники начинают с него, как он более разжёван в книгах и писдякается автоматом через мышку
и как следствие наличие мозга СОВСЕМ не обязательно, есть еще более жесть - типизированный, но по прошествии - согласен - это жуткий атавизм, единственное оправдание его использование в продакшене - добраться как то до дома, в отсутствие прокладок и тампаксов
ОПЯТЬ ЖЕ ВСЕ ИМХО..
...
Рейтинг: 0 / 0
17.08.2016, 21:52
    #39293569
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик ТрунькинКак глобально/локальное хранилище данных, якобы из коробки "синхронизирующееся" с основной БД, я пытался его использовать.
Его надо использовать по другому. Как отображение реальной базы в модель на клиенте.
Ваша неудача говорит только о неудачном подходе к применению
...
Рейтинг: 0 / 0
17.08.2016, 22:00
    #39293574
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Cat2,
это ж какую вьюху надо иметь на клиенте ( наверное с мордой коли валуева( считать однофамильцем)) что бы забиндить на него
датасет?
...
Рейтинг: 0 / 0
17.08.2016, 22:15
    #39293580
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Cat2Его надо использовать по другому. Как отображение реальной базы в модель на клиенте

дадасет не поможет для онлайн/оффлайн БД. а для всего остального - он нафиг не нужен.
...
Рейтинг: 0 / 0
17.08.2016, 22:17
    #39293582
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Cat2Как отображение реальной базы в модель на клиенте

для этого есть хибер и EF
...
Рейтинг: 0 / 0
17.08.2016, 22:18
    #39293583
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
хибер дружит даже с говнолегаси базами, ибо очень гибок
...
Рейтинг: 0 / 0
17.08.2016, 22:22
    #39293584
JVF
JVF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик ТрунькинCat2Как отображение реальной базы в модель на клиенте

для этого есть хибер и EFтеже фэбэржэ (DataSet), только в профиль.
временное хоронилище.
...
Рейтинг: 0 / 0
17.08.2016, 22:24
    #39293586
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
JVFМойшик Трунькинпропущено...


для этого есть хибер и EFтеже фэбэржэ (DataSet), только в профиль.
временное хоронилище.

ошибаетесь

вот, про хибер
http://nhibernate.info/doc/nh/en/index.html
...
Рейтинг: 0 / 0
17.08.2016, 22:27
    #39293587
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
EF - примерно тоже самое. на легаси базах я его, правда, не обкатывал, только когда с нуля была разработка. может и по-хилее хибера будет
...
Рейтинг: 0 / 0
17.08.2016, 22:30
    #39293589
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик Трунькинхибер дружит даже с говнолегаси базами, ибо очень гибок
Че докопался то? Ну дружит и дружит.
...
Рейтинг: 0 / 0
17.08.2016, 22:31
    #39293590
JVF
JVF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик Трунькин,

что DS, что EF, без разницы, - существуют для ламеров, осуществляя синхронизацию приложения с БД без использования SQL-ля.
...
Рейтинг: 0 / 0
17.08.2016, 22:42
    #39293594
Мойшик Трунькин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
JVFбез использования SQL-ля.

ниче подобного. SQL даже ще больше рулит (только правильный, канонический). К тому же иногда проще и эффективней подсунуть готовый SQL орм-му
...
Рейтинг: 0 / 0
17.08.2016, 22:49
    #39293597
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление строк из датасет
Мойшик ТрунькинCat2Как отображение реальной базы в модель на клиенте

для этого есть хибер и EF
Это не ле чится
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Удаление строк из датасет / 25 сообщений из 64, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]