powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как исключить добавление повторяющейся строки в DataSet
8 сообщений из 8, страница 1 из 1
как исключить добавление повторяющейся строки в DataSet
    #32646819
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Загружаю DataSet данными из таблы...
2. Создаю новую строку...
Код: plaintext
1.
2.
3.
Dim m as DataRow = DataSet11.TableName.NewRow
  m( 0 ) = "lala"
  m( 1 ) = "lalalala"
3. Проблема: как узнать, существует ли такая строка в DataSet???
4. Если не существует, добавляю в DataSet
Код: plaintext
1.
DataSet11.TableName.Rows.Add(m)
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32647047
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придумалось, но как то корявенько (сложность в ID = m(0))...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 Dim m As DataRow = DataSet11.Table1.NewRow
        m( 1 ) = test.Text
        m( 2 ) = test1.Text

        Dim int As Boolean = False
        For Each row As DataRow In DataSet11.Table1.Rows
            If row( 1 ) = m( 1 ) AndAlso row( 2 ) = m( 2 ) Then int = True
        Next

        If int = False Then
            DataSet11.Table1.Rows.Add(m)
            MsgBox("not duplicates")
        Else
            MsgBox("duplicates")
        End If
P.S. Может кто придумает лучше...
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32647181
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно воспользоваться (на выбор):

1. использовать метод Select для DataTable
2. построить DataView и использовать св-во RowFilter
3. построить unique constraint для DataTable и ловить исключения при добавлении записей
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32647223
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если таблица SQL server, то на ней можно построить индекс, покрывающий запрос и установить Ignore Duplicate key. В этом случае сколько одинаковых строк в датасет не пихай, при апдейте на сервер повторяющиеся строки не попадут.
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32649833
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кузя
3. построить unique constraint для DataTable и ловить исключения при добавлении записей

Склоняюсь к этому варианту

sposad
Если таблица SQL server, то на ней можно построить индекс, покрывающий запрос и установить Ignore Duplicate key. В этом случае сколько одинаковых строк в датасет не пихай, при апдейте на сервер повторяющиеся строки не попадут.

Можно рассмотреть как вариант, но ИМХО лучше сообщить пользователю о том что он нарушает целостность БД, чем проигнорировать.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32649972
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпостроить unique constraint для DataTable и ловить исключения при добавлении записей
Нельзя ли поподробнее (или ссылочку)... ;)
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32649980
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю структуру вашей таблицы, но могу предложить создание PK по этим полям:
/topic/108741

Соответственно PK и обеспечит уникальность, а исключение вы "поймаете" сразу же как попробуете добавить дублирующую запись.
...
Рейтинг: 0 / 0
как исключить добавление повторяющейся строки в DataSet
    #32650022
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
построение unique constraint

для DataTable tbl и
состоящей из двух ее полей "Col1" и "Col2"
constraint не является PK

Код: plaintext
1.
UniqueConstraint uc=new UniqueConstraint("Constraint_Name", new DataColumn[] {tbl.Columns["Col1"], tbl.Columns["Col2"]}, false);
                 tbl.Constraints.Add(uc);

PS опять сбиля с языка
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как исключить добавление повторяющейся строки в DataSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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