2013-08-05 12 views
1

이전에이 질문을 물어 본다면 미안합니다. Google을 사용해 보았지만 모든 대답이 도움이되지 못했습니다.데이터 세트에서 데이터 가져 오기

저는 C#을 사용하여 데이터 세트를 사용하고 데이터베이스에 연결하는 데있어 매우 중요합니다. 나는 두 테이블 AdministratorsUsers을 가진 액세스 2007 데이터베이스에서 얻은 데이터 세트 usersDataset을 가지고있다. 두 테이블 모두 두 개의 열 UserNamePassword을가집니다. Administrators Table에는 일련의 데이터가 있습니다.

이제 문제는 데이터 집합에서 행을 다시 검색하려고한다는 것입니다. 나는 많은 것들을 시도했지만 모두 예외를 던집니다.

내가

DataRow rows = usersDataset1.Administrators.Rows[0]; 
    MessageBox.Show(rows.ToString()); 

는 또한
usersDataset data = new usersDataset(); 
    MessageBox.Show(data.Administrators.Rows[0].ToString()); 

을 시도 시도 또한 메시지 There is no Row at Index 0와 함께 IndexOutofRangeException을 던져
MessageBox.Show(usersDataset1.Tables[0].Rows[0].ToString()); 

다음 코드 조각의 모든

을 시도했다.

는 그때 그것은 '0'을 나타낸다

MessageBox.Show(usersDataset1.Administrators.Rows.Count.ToString()); 

시도.

Pls 무엇이 잘못되었고 어떻게 해결할 수 있습니까?

EDIT : 내가 데이터 원본 Windom에서 관리자로 끌어서 응용 프로그램을 실행할 때. 행이 표시됩니다.

+3

관리자 테이블에 행이 없습니다. 그걸 확인해야 해. – nhrobin

+0

중단 점을 설정하고 실제로 Administrators 테이블의 행이 있는지 확인하십시오. –

+0

데이터를 가져 오기 전에 데이터베이스에 연결하고 데이터 집합을 채우는 코드가 있습니까? 우리가 그것을 볼 수 있을까요? –

답변

2

귀하의 현재 문제 (마지막 예에서 알 수있는 바와 같이)는 관리자 테이블에 데이터가 없다는 것입니다. 데이터 구조에 데이터를 올바르게로드하지 않았습니까?

일반적으로 정확히 얼마나 많은 행이 포함되는지 알 수없는 경우가 아니라면 일반적으로 테이블의 행을 반복하는 것이 좋습니다. 예 :

foreach (DataRow row in usersDataset1.Administrators.Rows) 
{ 
    //Do stuff here... 
} 
+0

시도했지만 아무런 작업도 수행되지 않습니다. –

+0

데이터 원본 창에서 양식으로 관리자 테이블을 끌어 와서 앱을 실행합니다. 행이 표시됩니다. –

+1

데이터 집합을 채우는 데 사용중인 SQL을 다시 확인하십시오. 오류가 보이지 않기 때문에 구문이 올바른 것처럼 보이지만 SQL 단순 함수는 어떤 행도 반환하지 않습니다. – rheitzman

관련 문제