2013-07-14 85 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()'将返回一个空集合,如果没有记录。我不认为这会是问题。 –

相关问题