2013-12-24 3 views
0

После использования внутренних соединений и извлечения данных из 3 таблиц Я хочу, чтобы показать имена курса, которые назначены мисс Дженнифер whise Tchr_ID является 4, ddlcourse является dropdown list идентификаторомПринимая Значение DropDownList в ASP.NET

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, имя, электронный адрес)

+0

скажите таблицу, в которую вы хотите вставить? –

+0

Это, в основном, система загрузки лекций, в которой учитель должен сначала выбрать курс, затем загрузить файл. Таким образом, таблица, в которую вставлен файл лекции или вставлена ​​tchr_Course_ID, является .. Лекция (Lecture_ID, Tchr_Course_ID, LEcture_File) – user3005601

+2

, пожалуйста, проверьте, существует ли tch_course_id в tch_course_table? –

ответ

0

Использование SelectedValue замещать использования SelectedItem.Value так Уре ddlcourseDataValueField имеет в Tchr_course_ID поэтому только SelectedValue дает и REQ uired результат для Tchr_course_ID.

+0

Я сделал то, что вы сказали, но эта ошибка все еще наступает «Выполнение SQL не выполнено. Оператор INSERT противоречил ограничению FOREIGN KEY« FK_Lecture_Tchr_Course ». произошел в базе данных «SproTrack», таблице «dbo.Tchr_Course», в столбце «Tchr_course_ID». Заявление было прервано ». – user3005601

+0

@ user3005601 dubbuge код и проверить, что 'SelectedValue' имеет и то же значение присутствует в таблице' Tchr_Course' –

+0

Ya !! ddlcourse.SelectedValue дает 0 (ноль), пока он должен выбрать tchr_course_id выбранного курса ... Почему это происходит? – user3005601

Смежные вопросы