2016-05-26 63 views
-1

运行我的应用程序时则收到此错误如何修复System.IndexOutOfRangeException:订购日期

异常详细信息:System.IndexOutOfRangeException:订购日期

有订购日期为类字段。

类文件是

public string PageAddress { get; set; } 
    public string Name { get; set; } 
    public DateTime? OrderDate { get; set; } 
    public int CartId { get; set; } 
    public string Size { get; set; } 

和C#代码是

order.PageAddress = rdr["PAGE_ADDRESS"].ToString(); 
order.Name = rdr["NAME"].ToString(); 
order.OrderDate = Convert.ToDateTime(rdr["OrderDate"]); 
order.CartId = Convert.ToInt32(rdr["CARTID"]); 
order.Size = rdr["SIZE"].ToString(); 
+0

c#code order.PageAddress = rdr [“PAGE_ADDRESS”]。ToString(); order.Name = rdr [“NAME”]。ToString(); order.OrderDate = Convert.ToDateTime(rdr [“OrderDate”]); order.CartId = Convert.ToInt32(rdr [“CARTID”]); order.Size = rdr [“SIZE”]。ToString(); –

+0

请使用“编辑”链接来编辑你的帖子,而不是把代码放在评论中(“编辑”就在下面的标签“C#”“asp.net”) – csharpfolk

+0

我找不到编辑buttion –

回答

0

只是一个想法。

异常消息意味着您的收藏中缺少索引OrderDate

您正在使用大写键获取所有值。值OrderDate不符合此模式。也许关键是错误的,应该是像ORDER_DATE

但是你应该检查字典或任何你正在使用的,如果它包含所有的关键。例如你可以用ContainsKey方法

+1

是的ORDERDATE得到了它 –

+0

也许你可以说哪种类型的'rdr',你的收藏是?那么我们可以为您的代码提供一些改进? – whymatter

+0

列表类型集合列表 listGetProducts = new List (); –

0

你需要一些检查添加到是否存在数据:

... 
if(rdr has item with key "OrderDate") 
{ 
    order.OrderDate = Convert.ToDateTime(rdr["OrderDate"]); 
} 
... 

检查的代码依赖在什么rdr是。