-2

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专栏中没有重复。请帮忙!

4

2 回答 2

1

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

于 2013-03-28T13:30:16.587 回答
1

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

于 2013-03-28T13:30:46.617 回答