我正在使用3个表,其中管理员输入以下记录:
现在,当我想将课程分配给学生时,我想检查两件事。
然后在这些检查之后,课程的分配将完成。
出于某种原因,我无法想到任何逻辑因此,这就是我在这里提出这个问题的原因。
protected void btnAssignStudents_click(object sender, EventArgs e)
{
StudentDataContext db = new StudentDataContext();
StudentCourse assigncourse = new StudentCourse();
assigncourse.Course_Id = txtCourse_Id.Text;
assigncourse.Student_ID = txtStudentID.Text;
db.StudentCourses.InsertOnSubmit(assigncourse);
db.SubmitChanges();
}
在提交更改之前,我想应用这些检查。
我真正想要的是检查分配课程是
如果两者都存在,则完成作业。
答案 0 :(得分:1)
protected void btnAssignStudents_click(object sender, EventArgs e)
{
var db = new StudentDataContext();
// check whether both course and student with specified ID's exist
// I let you make sure txtCourse_Id.Text and txtStudentID.Text is not null or empty
if (db.Courses.Any(c => c.Course_Id == txtCourse_Id.Text
&& db.Students.Any(s => s.Student_Id == txtStudentID.Text)
{
var assigncourse = new StudentCourse();
assigncourse.Course_Id = txtCourse_Id.Text;
assigncourse.Student_ID = txtStudentID.Text;
db.StudentCourses.InsertOnSubmit(assigncourse);
db.SubmitChanges();
}
}
答案 1 :(得分:-1)
假设db中的Course_Id
和Student_ID
为varchar
或nvarchar
:
protected void btnAssignStudents_click(object sender, EventArgs e)
{
StudentDataContext db = new StudentDataContext();
StudentCourse assigncourse = new StudentCourse();
var course = db.Course.Where(cr=>cr.Course_Id == txtCourse_Id.Text).ToList();
var student = db.Student.Where(st=>st.Student_ID == txtStudentID.Text).ToList();
if(course != null && course.Length > 0 && student != null && student.Length > 0)
{
assigncourse.Course_Id = txtCourse_Id.Text;
assigncourse.Student_ID = txtStudentID.Text;
db.StudentCourses.InsertOnSubmit(assigncourse);
db.SubmitChanges();
}
}
答案 2 :(得分:-1)
试试这个
<强>更新强>
我不确定你的要求是什么。但我想有一件事
如果学生和核心表存在,并且在保存之前学生核心表中不存在这些ID,则需要检查ID。
如果我是对的。你需要合并我和@peri答案
protected void btnAssignStudents_click(object sender, EventArgs e)
{
int CourseId=Convert.ToInt32(txtCourse_Id.Text);
int StudentID=Convert.ToInt32(txtStudentID.Text);
StudentDataContext db = new StudentDataContext();
StudentCourse assigncourse = new StudentCourse();
var _studentcourse = db.StudentCourse.Where(sc=>sc.Course_Id == CourseId && sc.Student_ID == StudentID).FirstOrDefault();
if(_studentcourse != null && (db.Courses.Any(c => c.Course_Id == CourseId
&& db.Students.Any(s => s.Student_Id ==StudentID) )
{
assigncourse.Course_Id =CourseId;
assigncourse.Student_ID = StudentID;
db.StudentCourses.InsertOnSubmit(assigncourse);
db.SubmitChanges();
}
}
否则您需要检查学生核心表中是否存在这些ID仅用于保存
您需要此代码
protected void btnAssignStudents_click(object sender, EventArgs e)
{
int CourseId=Convert.ToInt32(txtCourse_Id.Text);
int StudentID=Convert.ToInt32(txtStudentID.Text);
StudentDataContext db = new StudentDataContext();
StudentCourse assigncourse = new StudentCourse();
var _studentcourse = db.StudentCourse.Where(sc=>sc.Course_Id == CourseId && sc.Student_ID == StudentID).FirstOrDefault();
if(_studentcourse != null )
{
assigncourse.Course_Id =CourseId;
assigncourse.Student_ID = StudentID;
db.StudentCourses.InsertOnSubmit(assigncourse);
db.SubmitChanges();
}
}