列表框显示两个相同的值

时间:2012-11-23 23:52:53

标签: c# asp.net sql

我正在使用asp.net C#SQL创建一个网页。我需要列出一个允许用户选择的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();
        }
    }

1 个答案:

答案 0 :(得分:1)

试试这些

1.当你外部 SELECT DISTINCT CourseID FROM Schedule WHERE StaffId = 1

时,你会得到重复吗?

2.使用断点检查其他帖子。

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