2013-07-14 83 views
0

我的數據庫設計是這樣的:IndexOutOfRangeException是由用戶代碼未處理

列名:名稱,數據類型:VARCHAR(50)

當我投的數據鍵入到Visual Studio中它得到了異常

IndexOutOfRangeException未被用戶代碼處理:索引超出了數組的範圍。

using (var reader = command.ExecuteReader()) 
         return reader.Cast<System.Data.IDataRecord>() 
          .Select(x => new JobInfo() 
          { 

           Name = x.GetString(0), 


          }).ToList(); 

回答

3

x.GetString(0)可能是您的問題。數組在C#中基於0。如果該項目沒有元素,試圖獲得「第0個」(第一個)將導致引發異常。這與嘗試獲取8元素數組中的第9個元素是一回事。

0

如果沒有記錄存在,您正試圖檢索記錄。檢查您的數據傳輸器是否有數據:

if (reader.HasRows) 
{ 
    //get the record here 
} 
+0

'.Select()'將返回一個空集合,如果沒有記錄。我不認爲這會是問題。 –

相關問題