2016-05-26 11 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

編集部を見つけられません –

答えて

0

単なるアイデアです。

例外メッセージは、コレクションにインデックスOrderDateがないことを示します。

すべての値を大文字のキーで取得しています。値OrderDateはこのパターンと一致しません。キーが間違っていて、ORDER_DATEのようなものでしょうか?

ただし、すべてのキーが含まれている場合は、辞書や使用しているものを確認する必要があります。たとえば、ContainsKeyメソッドで行うことができます。

+1

はいORDERDATEはそれを –

+0

にあなたのコレクションは 'rdr'と言うことができますか?それでは、あなたのコードにいくつかの改善を施すことができますか? – whymatter

+0

リストタイプコレクションリスト listGetProducts =新しいリスト(); –

0

です:

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

依存チェックのためのコード何の上にrdrです。

関連する問題