2016-10-08 70 views
0

我想從一個訪問窗體中的單個單元格中獲取文本值,但此代碼給我System.Data.OleDb.OleDbDataReader作爲輸出。當我將Sell更改爲*,並將Convert.ToString(cusReader)更改爲Convert.ToString(cusReader.getValue(1))時,我在標題中看到錯誤。 我該如何解決這個問題?謝謝,傑克。C#以可視化的形式OleDb訪問連接沒有數據存在的行/列或無效的輸出

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

指數之開始0

Convert.ToString(cusReader.getValue(0)) 

你應該測試dbnullvalue太

 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表有9個條目,包含ID,productName,Cost和Sell。除ID之外的所有內容均爲短文本 感謝您的幫助至此 –

相關問題