用户代码未处理IndexOutOfRangeException

本文关键字:IndexOutOfRangeException 未处理 代码 用户 | 更新日期: 2023-09-27 18:22:18

我的数据库设计是这样的:

列名:名称,数据类型: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();

用户代码未处理IndexOutOfRangeException

x.GetString(0)可能是您的问题。数组在C#中是基于0的。如果该项没有元素,则尝试获取"第0个"元素(第一个)将导致引发异常。这与试图获取8元素数组中的第9个元素是一样的。

当不存在记录时,您正在尝试检索记录。首先检查您的数据读取器是否有数据:

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