powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Удаление строк из датасет
25 сообщений из 64, страница 1 из 3
Удаление строк из датасет
    #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
Удаление строк из датасет
    #39293434
Сет объявила в отдельном классе
Код: c#
1.
public static System.Data.DataSet myDs;
...
Рейтинг: 0 / 0
Удаление строк из датасет
    #39293442
VAlexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Петрова Елена,

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


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


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

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

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

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

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


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

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

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

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

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


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

ошибаетесь

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

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

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

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


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