2012-11-23 39 views
2

我使用asp.net C#SQL创建webpage.I需要列出一个courseID让用户选择,但它在下拉列表 列出两个时间值相同S1111 S2222 S3333 S1111 S2222 S3333 ,有人帮列表框中显示两个时相同的值

protected void Page_Load(object sender, EventArgs e) 
    { 
     SqlConnection conn; 
     SqlDataReader dtr; 
     SqlCommand cmd; 

     string Connnection = ConfigurationManager.ConnectionStrings["ELearing"].ConnectionString; 
     conn = new SqlConnection(Connnection); 

     if (!Page.IsPostBack) 
     { 
      //Get Staff Information 
      conn.Open(); 
      string cmdString = "SELECT DISTINCT CourseID FROM Schedule WHERE(StaffID = @scheduleStaffID)"; 
      cmd = new SqlCommand(cmdString, conn); 
      cmd.Parameters.AddWithValue("@scheduleStaffID", Session["UserID"].ToString()); 

      dtr = cmd.ExecuteReader(); 

      while (dtr.Read()) 
      { 
       ddlCourse.Items.Add(dtr["CourseID"].ToString()); 
      } 
      dtr.Close(); 
      conn.Close(); 
     } 
    } 
+0

如果在没有Sql Server Management Studio中的代码的情况下运行查询并使用提供的ScheduleStaffId,会发生什么情况?你会得到重复吗?所以像SELECT DISTINCT CourseID FROM Schedule WHERE StaffId = 1 – CodeLikeBeaker

+2

您是否在'while循环之前尝试过'ddlCourse.Items.Clear'? – igrimpe

+0

它工作时,我把ddlCourse.Items.Clear thx帮助 – user1848681

回答

1

尝试这些

1.Do你得到重复,当你做外部 SELECT迪斯汀CT CourseID FROM Schedule WHERE StaffId = 1

2.使用断点检查附加的帖子后台。

3.在您的while循环之前尝试ddlCourse.Items.Clear。

+0

它的工作,当我把ddlCourse.Items.Clear()thx帮助 – user1848681

+0

我的荣幸,请标记为答案 – sajanyamaha

相关问题