2017-02-11 38 views
0

我有4個數據表在我的語法。我想忽略ds.Tables[0];和重複1,2和3以下的語法拋出的錯誤語法訪問無效DataTable索引

找不到表4

我認爲ds.Tables.Count;,則表明有隻有3數據表(因爲它是基於0的索引)。但相反,它會繼續嘗試處理並拋出上述錯誤。

我誤解了這個過程是如何工作的?我應該怎麼做才能處理數據表1,2,3?

(我的語法初始設置爲int i = 1;從而使代碼開始處理與ds.Tables[1];

for (int i= 1; i < ds.Tables.Count; i++) 
{ 

} 
+0

我猜測錯誤是在你沒有顯示的代碼中,因爲Test.Count會是3,如果你有3個表。因此您的for循環會執行1和2. –

回答

0

我認爲你需要確認你實際上增加四個數據表到DataSet中,我創建了測試代碼下面和它的工作正常。

var ds = new DataSet(); 
ds.Tables.Add(new DataTable()); // 0 
ds.Tables.Add(new DataTable()); // 1 
ds.Tables.Add(new DataTable()); // 2 
ds.Tables.Add(new DataTable()); // 3 
for (int i = 1; i < ds.Tables.Count; i++) 
{ 
    var currentTable = ds.Tables[i]; 
    if (currentTable == null) 
    { 
     Response.Write("Table is null!"); 
    } 
} 

我的代碼通過環路起始於表2(索引1),表3(索引2)迭代,以及表4(指數3)。我想仔細檢查你的DataSet包含4個DataTa統計局。

我希望這會有所幫助。

+0

我已確認我有4個DataTables。我想忽略索引[0],只處理1,2,3。讓我編輯添加更多的代碼。 –