2016-10-08 2 views
0

Access 폼의 단일 셀에서 Text 값을 가져 오려고하는데이 코드는 System.Data.OleDb.OleDbDataReader을 대신 출력으로 제공합니다. *로 변경하고 Convert.ToString(cusReader)Convert.ToString(cusReader.getValue(1))으로 변경하면 제목에 오류가 발생합니다. 어떻게 해결할 수 있습니까? 고마워, 잭.Visual Form OleDb에서 C#으로 액세스하려면 행/열 또는 잘못된 출력에 대한 데이터가 없습니다.

OleDbCommand cmd = new OleDbCommand("SELECT Sell FROM Product WHERE ID = " + Count, conn); 
      OleDbDataReader cusReader = cmd.ExecuteReader(); 

      if (Count != 0) 
      { 
       labelInsertedExtra.Visible = true; 
       labelInserted.Visible = true; 
       labelInsertedExtra.Text = Convert.ToString(cusReader); 
      } 
      else 
      { 
       labelInsertedExtra.Visible = false; 
       labelInserted.Visible = false; 
      } 
      cusReader.Close(); 

답변

0

Indice는 dbnullvalue 테스트해야합니다 0

Convert.ToString(cusReader.getValue(0)) 

에 시작 너무

 while (cusReader.Read()) 
     { 

     if (Count != 0 && cusReader["Sell"] != DBNull.Value) 
     { 
      labelInsertedExtra.Visible = true; 
      labelInserted.Visible = true; 
      labelInsertedExtra.Text = cusReader["Sell"].ToString(); 
     } 
     else 
     { 
      labelInsertedExtra.Visible = false; 
      labelInserted.Visible = false; 
     } 

     break; 
     } 
+0

여전히 점점 을 '없음 날짜는 행/열 존재하지 않는'그리고 값이 확실히있다 이 위치 –

+0

나는 내 코드를 수정했다. 시도해 본다. – Esperento57

+0

좋아,'cusReader [ "sell"] ToString()'시도했지만 여전히 데이터가 없다 ... if Access 테이블에는 ID, productName, Cost 및 Sell와 함께 9 개의 항목이 있습니다. ID를 제외한 모든 문자는 짧은 텍스트입니다. 여기까지 도움을 주셔서 감사합니다 –