2011-01-02 5 views
0

私はVB.NETで作業しています。 私はDataTableを持っています。例えば、dt = New DataTable() TeacherID、SubjectID、TeachingGradeという3つの列があります。 今、[TeacherID - SubjectID]のペアを繰り返してはなりません。 どちらも整数です。 カラムに固有の設定は、一意性を個別に保証します。 その後、法的データも拒否されます。 どのように?vb.netで1列以上のデータテーブルの一意性を保証するにはどうすればよいですか?

+0

を、 PKは一意性を保ちます。しかし私はすでに、このPKメカニズムを他の列に使用しています。さて、シナリオをより良く説明するための別の例を作ってみましょう。テーブル、私のPKが(FamilyID + MemberID)両方の整数であるFamilyMembersを考えてみましょう。別の列、MemberName(文字列)があります。今、私は列で一意性を持たせたいです(FamilyID + MemberName)。私に教えてください、今、どのように? –

答えて

0

がテーブルの主キーとしてこれらの列を設定します。

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 }); 
+0

ありがとうございます。私は知っている、PKは一意性を扱う。しかし私はすでに、このPKメカニズムを他の列に使用しています。さて、シナリオをより良く説明するための別の例を作ってみましょう。テーブル、私のPKが(FamilyID + MemberID)両方の整数であるFamilyMembersを考えてみましょう。別の列、MemberName(文字列)があります。今、私は列で一意性を持たせたいです(FamilyID + MemberName)。私に教えてください、今、どのように? –

+0

@Satbhai M D、私の更新された回答を参照してください –

+0

ありがとうございます。偉大な... –

関連する問題