C#字典错误 - 已添加具有相同键的项目

时间:2013-03-28 13:26:03

标签: c# asp.net .net dictionary

我在字典中插入一个唯一的ID[KEY]及其对应的time[VALUE]。 我在ID列中只有唯一值,但我得到以下错误

  

“已添加具有相同键的项目”

for (int j = 0; j < pro1.Count; j++)
{

  string startend = "Select Id, CStart, CEnd from MBA1 where Channel='" + mbaChannel[allchan] + "' and Product='" + pro[allpro] + "' and ProgDate='" + pro1[j] + "'";
  SqlCommand dat = new SqlCommand(startend, conn);
  SqlDataReader datrdr = dat.ExecuteReader();
  while (datrdr.Read())
  {
      start.Add(datrdr["Id"].ToString(), datrdr.GetDateTime(1));
      end.Add(datrdr["Id"].ToString(), datrdr.GetDateTime(2));

  }
  datrdr.Close();

我确定ID列中没有重复内容。请帮忙!

2 个答案:

答案 0 :(得分:1)

您的查询和字典更新处于循环中。如果Id列中没有重复值,那么您的查询将在两个不同的查询中返回至少1行(示例中的j的值不同)。

答案 1 :(得分:1)

您正在运行查询pro1.Count次。如果pro1.Count&gt; 1,您将尝试在字典中放入重复的项目。