我真的很難弄清楚DataTable的Select方法正在發生什麼。下面是我回到一個DataTable中的數據,稱爲VotePeriods
:DataTable - 只選擇查找行數小於10的行嗎?
PeriodID
Description
11
Test 11
10
Test 10
9
Test 9
...
...
1
Test1
這裏的選擇基於PeriodID期間代碼:
if (VotePeriods.Rows.Count > 0)
{
DataRow[] vp = VotePeriods.Select("PeriodID = " + voteperiod);
if (vp.Length > 0)
{
return vp[0];
}
}
出於某種原因,如果voteperiod
是9個或更少,那麼我有正確的行選擇。但是如果我通過10
或11
,我沒有數據返回,即使在我的DataTable中,PeriodID 10
和11
存在。任何建議?
謝謝。
我測試你的代碼,它可以工作在PeriodID = 10和11我也看不出有什麼不妥的地方 - 它應該工作,如果沒有 - 問題一定是別的地方在你的代碼。 – mj82 2011-06-06 22:34:39
問題是'PeriodID'是String而不是int!謝謝大家。 – Saxman 2011-06-06 22:43:33