【问题标题】:Taking Value of dropdownlist in asp.net在 asp.net 中取下拉列表的值
【发布时间】:2013-12-24 19:44:33
【问题描述】:

使用内部连接并从 3 个表中获取数据后,我想显示分配给 Jennifer 小姐的课程名称,Tchr_ID 是 4,ddlcoursedropdown 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 将保存在数据库中。为了保存 id 我正在使用 ddlcourse.SelectedItem.Value 但这在我关于外键的插入语句中给了我错误。它没有考虑所选课程的价值。为什么?我该如何纠正?

这些表都参与其中..

  • 课程表:(其中有课程列表)==> (Course_ID,Course_name)

  • CourseOffering 表:(其中记录了这些课程是 本学期提供)==> >(Course_offer_ID,Course_ID)

  • Tchr_Course 表:(有该课程分配到的记录 这位老师)==>(Tchr_course_ID、Course_offer_ID、Tchr_ID)

  • 档案表:(简单包含教师记录)== > (Tchr_ID、姓名、电子邮件)

【问题讨论】:

  • 请告诉您要插入的表格?
  • 这基本上是一个讲座上传系统,教师必须先选择一门课程,然后她必须上传一个文件。所以插入 Lecture 文件或插入 tchr_Course_ID 的表是.. Lecture (Lecture_ID,Tchr_Course_ID,LEcture_File)
  • 请确认 tch_course_id 是否存在于 tch_course_table 中?
  • Id 确实存在于表中,但插入语句仍然给我错误..

标签: c# asp.net sql


【解决方案1】:

使用SelectedValue 处于使用SelectedItem.Value 的状态,因为您的ddlcourse 具有DataValueField 作为Tchr_course_ID,因此只有SelectedValue 为您提供Tchr_course_ID 所需的结果。

【讨论】:

  • 我按照你说的做了,但是这个错误仍然出现“SQL 执行失败。INSERT 语句与 FOREIGN KEY 约束“FK_Lecture_Tchr_Course”冲突。冲突发生在数据库“SproTrack”,表“dbo。 Tchr_Course",列 'Tchr_course_ID'。语句已终止。"
  • @user3005601 复制代码并检查SelectedValue 具有的内容以及表Tchr_Course 中存在的相同值
  • 耶!! ddlcourse.SelectedValue 给出 0(零),而它应该选择所选课程的 tchr_course_id ......为什么会这样?
猜你喜欢
  • 2013-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多