2016-06-30 3 views
0

DataTable에 JOIN을 사용하는 SQL 문이 채워져 있습니다. DataTable 안에는 IDCategory이 고유 한 쌍인 ID은 고유하지 않습니다.NULL 값을 포함하는 열을 DataTable의 보조 기본 키로 설정하는 방법

Category은 NULL 값을 포함 할 수 있습니다. Find(...) 메서드를 사용하여 행을 찾을 수 있으려면 DataTablePrimaryKey으로 설정하고 싶습니다. 나는 DataTablePrimaryKey 속성으로 IDCategory을 설정하려고하면

그러나, 나는 System.Data.DataException를 얻을.

코드 :

dt.PrimaryKey = New DataColumn() {dt.Columns.Item("ID"), dt.Columns.Item("Category")} 

예외 (번역) :

열 '카테고리'난 아직도 IDPrimaryKeyCategory을 설정할 수 있습니다 어떻게

에서 null 값을 가지고?

답변

2

Null 열의 값을 채울 때까지 기본 키를 설정할 수 없습니다. 기본 키 개념 자체는 "NOT NULL"열입니다. documentation에서

는 :

당신이 DataTable에 대한 기본 키와 같은 하나를 DataColumn을 식별, 테이블은 자동으로 거짓과 진실의 고유 속성에 열의 AllowDBNull 속성을 설정합니다. 여러 열 기본 키의 경우 AllowDBNull 속성 만 자동으로 false로 설정됩니다.

+1

https://msdn.microsoft.com/en-us/library/z24kefs8(v=vs.110).aspx – andy

관련 문제