我使用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();
}
}
如果在没有Sql Server Management Studio中的代码的情况下运行查询并使用提供的ScheduleStaffId,会发生什么情况?你会得到重复吗?所以像SELECT DISTINCT CourseID FROM Schedule WHERE StaffId = 1 – CodeLikeBeaker
您是否在'while循环之前尝试过'ddlCourse.Items.Clear'? – igrimpe
它工作时,我把ddlCourse.Items.Clear thx帮助 – user1848681