我有两个表,名为"studentBio“和"subjects”。下面给出了两个表的字段(带有一些值):在表单中,我得到了如下内容:

在checkedlistbox1中,和以A+B+C的形式显示了相应的主题,在从用户检索后,将在'+‘的基础上拆分,并同时添加到 subjects 表中。
诸若此类。现在让我们来看看problem。我正在做的是更新(教员和程序)在表和subjectN在科目表。到目前为止,我所做的是只更新了studentBio表,这很容易,但我无法理解,因为如何构造更新查询以更新subjects表?有人能帮我整理一下查询吗?
发布于 2014-12-15 21:38:21
如果我理解得很好,请尝试一下您的查询的这个重组版本:
string update_Personal = "UPDATE studentBio INNER JOIN subjects ON studentBio.RollNo = subjects.RollNo AND studentBio.RegYear = subjects.RegYear AND studentBio.program = subjects.program AND studentBio.faculty = subjects.faculty SET studentBio.program = ProgramU, studentBio.faculty = FacultyU, subjects.subjectName = SubjectNameU WHERE studentBio.RollNo = " + Convert.ToInt32(this.rollNumber7_combo.SelectedItem.ToString()) + " AND studentBio.RegYear = " + Convert.ToInt32(this.comboBox3.SelectedItem.ToString()) + " AND studentBio.program = '" + this.comboBox1.SelectedItem.ToString() + "' AND studentBio.faculty = '" + this.comboBox2.SelectedItem.ToString() + "'";为了更新subjects表,我添加了以下部分:
studentBio INNER JOIN subjects ON studentBio.RollNo = subjects.RollNo AND studentBio.RegYear = subjects.RegYear AND studentBio.program = subjects.program AND studentBio.faculty = subjects.faculty --这个部分加入了subjects表,使它的更新成为可能, subjects.subjectName = SubjectNameU - SET块中更新subjects表中subjectName列的片段WHERE studentBio.RollNo = " + Convert.ToInt32(this.rollNumber7_combo.SelectedItem.ToString()) + " AND studentBio.RegYear = " + Convert.ToInt32(this.comboBox3.SelectedItem.ToString()) + " AND studentBio.program = '" + this.comboBox1.SelectedItem.ToString() + "' AND studentBio.faculty = '" + this.comboBox2.SelectedItem.ToString() + "'" -最后一部分是在每个键列中添加前缀studentBio.的WHERE块,以精确地将筛选应用于哪个表(因为两个表都有相同的键列名)。我希望它能在某种程度上帮助你。
https://stackoverflow.com/questions/27467545
复制相似问题