2011-01-19 4 views
0
. 
. 
. 
OleDbDataReader getme = cmd.ExecuteReader(); 
      while (getme.Read()) 
      { 
       MessageBox.Show(getme.GetString(1)); 
      } 
. 
. 
. 

메시지 상자의 테이블에서 특정 셀의 값을 표시하기 위해 getme.GetString (1)을 사용했습니다. 나는 평소와 같이 데이터베이스를 열었고 나는 DataGrid를 가지고 있지 않다.열 이름으로 데이터 셀의 값 표시 또는 나열

어떻게 정수 ID, GetString (1) 또는 GetInt32 (0) 대신 열 이름을 사용할 수 있습니까?

숫자 값 대신 열 이름이있는 열을 선택할 수 없습니까?

C# .NET에서이 작업을 수행하고 있습니다. 이렇게하면

getMe.GetOrdinal("column_name")GetStringGetInt32 위해 등을 사용하여 인덱스를 반환, 당신은 while 루프 외부에서 작업을 수행하여 시간을 절약 할 수 있습니다

답변

0

는 두 가지 방법이 있다고 할 수 있습니다.

OleDbDataReader getMe = cmd.ExecuteReader(); 
int index = getMe.GetOrdinal("column_name"); 
while (getme.Read()) 
{ 
    MessageBox.Show(getMe.GetString(index)); 
} 

OleDbDataReader는 (당신은 getMe)는 인덱서를 정의합니다. 당신은 getMe["column_name"]를 사용할 수 있으며, 개체의 유형을 다음 간단한 캐스트 그것은 당신이 원하는 :

OleDbDataReader getMe = cmd.ExecuteReader(); 
while (getme.Read()) 
{ 
    MessageBox.Show((string)getMe["column_name"]); 
} 

oleDbDataReader