0

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

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

2 回答 2

3

x.GetString(0)可能是你的问题。数组在 C# 中是从 0 开始的。如果该项目没有元素,则尝试获取“第 0 个”(第一个)将导致抛出异常。这与尝试获取 8 元素数组中的第 9 个元素相同。

于 2013-07-14T06:39:14.240 回答
0

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

if (reader.HasRows)
{
  //get the record here
}
于 2013-07-14T07:18:33.957 回答