使用内部联接,并获取数据从3个表之后,我想要显示被分配给Jennifer小姐whise Tchr_ID
是4当然名称,ddlcourse
是dropdown list
ID
SqlCommand cmd = new SqlCommand(@"
SELECT
Course.Course_name,
Tchr_course_ID
FROM Course
INNER JOIN CourseOffering
ON Course.Course_ID=CourseOffering.Course_ID
INNER JOIN Tchr_Course
ON Tchr_Course.Course_offer_ID=CourseOffering.Course_offer_ID
where Tchr_Course.Tchr_ID = 4", conn);
SqlDataReader dr = cmd.ExecuteReader();
ddlcourse.DataSource = dr;
ddlcourse.Items.Clear();
ddlcourse.DataTextField = "Course_name";
ddlcourse.DataValueField = "Tchr_course_ID";
ddlcourse.DataBind();
取我显示下拉后textfield
作为课程名称和我申请datavaluefiled
为tch_Course_ID
,因为当用户将选择的过程中,它的tchr_course_ID
将被保存在D b。保存id我正在使用ddlcourse.SelectedItem.Value
但是这在我的插入语句中给出了关于外键的错误。它没有取得选定课程的价值。为什么?我该如何纠正呢?
这些表格都参与其中..
课程表(其中包含课程列表)==> (COURSE_ID,COURSE_NAME)
CourseOffering table:(其中包含这些课程的记录 提供这个学期)==> > (Course_offer_ID,Course_ID)
Tchr_Course表格:(其中包含此课程分配的记录 这位老师)==> (Tchr_course_ID,Course_offer_ID,Tchr_ID)
个人资料表:(简单包含教师记录)==> (Tchr_ID,姓名,电子邮件)
答案 0 :(得分:0)
使用SelectedValue
使用SelectedItem.Value
的身份验证,因为ddlcourse
DataValueField
Tchr_course_ID
为SelectedValue
,因此只有Tchr_course_ID
为{{{1}}提供了所需的结果1}}。