Я работаю в VB.NET. У меня есть DataTable, скажем dt = New DataTable() У меня есть три столбца, скажем TeacherID, SubjectID и TeachingGrade Теперь я хочу пару [TeacherID - SubjectID], а не повторять. Оба являются целыми числами. Уникальная установка в столбцы, обеспечивает уникальность индивидуально, проблема ya .. Затем юридические данные также отклоняются. КАК?Как обеспечить уникальность, более чем 1 столбца таблицы данных, в vb.net?
ответ
Установите эти колонки в качестве первичного ключа для таблицы:
DataTable dt = new DataTable();
DataColumn teacherIdColumn = dt.Columns.Add("TeacherId", typeof(int));
DataColumn subjectIdColumn = dt.Columns.Add("SubjectId", typeof(int));
dt.Columns.Add("TeachingGrade", typeof(int));
dt.PrimaryKey = new[] { teacherIdColumn, subjectIdColumn };
EDIT:
Вы также можете создать ограничение на столе:
dt.Constraints.Add(new UniqueConstraint(new[] { teacherIdColumn, subjectIdColumn });
Спасибо. Я знаю, ПК заботится об уникальности. Но я уже использовал этот механизм ПК в других колонках. Теперь я построю еще один пример, чтобы лучше объяснить сценарий. Рассмотрим таблицу, FamilyMembers, где мой PK (FamilyID + MemberID) оба целых числа. Существует еще один столбец, MemberName (строка). Теперь я хочу иметь уникальность в столбцах (FamilyID + MemberName). Скажите, пожалуйста, сейчас, КАК? –
@Satbhai M D, см. Мой обновленный ответ –
СПАСИБО МНОГО. GREAT ... –
Я знаю, ПК заботится о уникальности. Но я уже использовал этот механизм ПК в других колонках. Теперь я построю еще один пример, чтобы лучше объяснить сценарий. Рассмотрим таблицу, FamilyMembers, где мой PK (FamilyID + MemberID) оба целых числа. Существует еще один столбец, MemberName (строка). Теперь я хочу иметь уникальность в столбцах (FamilyID + MemberName). Скажите, пожалуйста, сейчас, КАК? –