2009-06-26 3 views
-1

OleDb를 사용하여 Access 데이터베이스와 상호 작용하고 각 테이블의 기본 키를 가져 오는 방법을 찾고 있지만 이러한 방법으로 테이블과 관련있다. 다른 말로하면 기본 키 열 이름의 플랫 목록을 원할뿐만 아니라 그 테이블이 속한 테이블을 결정할 수 있기를 원합니다.C#/Access Access 2003에서 기본 키 가져 오기

어떻게하면 좋을까요? GetSchema() 메서드를 사용하여 테이블 테이블을 가져 왔지만 해당 테이블의 정보에는 기본 키 (또는 다른 모든 인덱스)가 포함되어 있지 않습니다.

답변

1

Ok - 열 이름을 조금 출력했는데 스키마 테이블이 어떻게 관련되는지 더 잘 이해할 수있었습니다.

이렇게하려면 GetSchema() 메서드에 "Indexes"문자열을 전달하십시오. 인덱스 테이블의 각 레코드에는 테이블 이름과 인덱스가 기본 키인지 여부가 모두 들어 있습니다.

0

나는 스키마의 각 외래 키에 대해 참조 된 테이블의 이름을 찾고자 함을 의미한다고 생각합니다. 빠른 구글에서 가능하지 않을 수 있습니다 보인다 때문에 당신이 할 수있는 ADO 고전의 (COM,하지 .NET) OpenSchema 방법으로 이상하다

Microsoft Connect: DbConnection.GetSchema: no ways to get foreign keys' columns

을 ....

+0

"관련"이라는 단어가 혼동을 일으킬 수 있다는 것을 알고 있지만 실제로 기본 키인 테이블의 기본 키에 대해 실제로 말하고 있습니다. 데이터베이스의 기본 키 목록을 원했지만 단순히 "해당 목록"이 아닌 "플랫"목록이 아닙니다. 이름이나 다른 속성뿐만 아니라 기본 키가 속한 테이블을 알아야했습니다. "인덱스"스키마 테이블이 트릭을 수행했습니다. 그래도 답변을 주셔서 감사합니다. –

관련 문제