2011-05-06 4 views
0

기본 키가없는 경우 데이터 테이블을 할당해야합니다. 내가 시도 :datatable.PrimaryKey가 설정되어 있는지 확인하는 방법

if (ds.Tables[0].PrimaryKey == null) 
{ 
    ds.Tables[0].PrimaryKey = new DataColumn[] { dt.Columns["Naam"] }; 
} 

그러나 (이 경우) 기본 키 null가 아닌. 내가 그것을 체크했을 때 : {System.Data.DataColumn [0]} 어떻게 확인할 수 있습니까? 그것은 내가 이미이 시도 결국 그 어려운 일이 아니다하지만 난 그냥 다시 시도 할 때 때문에 분명히 뭔가 잘못했던 것처럼

답변

0

이 보이는 그것은 한 작업 :

DataColumn[] esl = new DataColumn[] { dt.Columns["Naam"] }; 
    if (ds.Tables[0].PrimaryKey == null || ds.Tables[0].PrimaryKey == esl) 
    { 
     ds.Tables[0].PrimaryKey = new DataColumn[] { dt.Columns["Naam"] }; 
    } 
-1
if (ds.Tables[0].PrimaryKey.Length == 0) 
    ds.Tables[0].PrimaryKey = new DataColumn[] { dt.Columns["Naam"] }; 
+1

답변에는 코드에 대한 설명과 문제 해결 방법에 대한 설명이 포함되어 있어야합니다. – AbcAeffchen

1

하비에르의 대답은 정확하지만 설명이 부족하다 . 여기서는 DataTable.PrimaryKey 속성이 DataColumns의 컬렉션입니다. DataTable PrimaryKey 속성이 설정되지 않은 경우 컬렉션의 길이가 0이됩니다. DataTable에 PrimaryKey 속성의 길이보다 기본 키로 정의 된 하나 이상의 필드가 있으면이 값이 반영됩니다. 그래서,이 같은 확인 : 더 열이 기본 키를 나타 내기 위해 추가되지 않은 경우

if (ds.Tables[0].PrimaryKey.Length == 0) 

의 의견을 알려 것이며, 일부

 ds.Tables[0].PrimaryKey = new DataColumn[] { dt.Columns["Naam"] }; 

실제로 보관 유지하는 열의 컬렉션에 DataColumn에 (들)을 추가합니다 PrimaryKey 속성에 의해.

+0

안녕하세요, 좀 더 읽기 쉽도록 답변에 서식을 추가하십시오. – Chaithanya

관련 문제