我有两个表:教师表和主题表 教师表将教师姓名作为列,而主题表将学科名称作为列,问题是 如何从其组合框中的教师表中选择教师姓名,以及如何从其组合框中的主题表中自动获取所选教师的主题。 注意:当我尝试时,我在老师组合框中得到了老师的名字和学科的名字 ,所以 如何使用c#在组合框中将它们分开。
enter code here
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
Variable_Attendence();
Attendence.Select_Teacher_By_TeacherName();
}
private void Attendnce_Load(object sender, EventArgs e)
{
fill_Teacher_Name_in_Att();
}
void Variable_Attendence()
{
Attendence.S_Teacher_Name = COMX_Teacher.Text;
Attendence.S_Subject_Name = COMX_Subjct.Text;
Attendence.S_Branch_Name = COMX_Branch.Text;
Attendence.S_Semester_Name = COMX_Semester.Text;
}
void fill_Teacher_Name_in_Att()
{
Attendence.Fill_Teacher_Att();
COMX_Teacher.Items.Clear();
COMX_Subjct.Items.Clear();
for (int i = 0; i < Attendence.ARL_Teacher_Name.Count; i++)
{
COMX_Teacher.Items.Add(Attendence.ARL_Teacher_Name[i].ToString());
}
}
//fill_Teacher
public void Fill_Teacher_Att()
{
try
{
DB.OpenDatabase();
DB.Cmd = new SqlCommand("select Teacher_Name,Subject_Name from
TB_Teacher T,TB_Subject sub where
T.Subject_ID=sub.Subject_ID ", DB.Cn);
DB.read = DB.Cmd.ExecuteReader();
ARL_Teacher_Name.Clear();
ARL_Subject_Name.Clear();
if (DB.read.HasRows)
{
while (DB.read.Read())
{
ARL_Teacher_Name.Add(DB.read["Teacher_Name"]);
ARL_Teacher_Name.Add(DB.read["Subject_Name"]);
}
}
else
{
ARL_Teacher_Name.Add("Empty");
ARL_Subject_Name.Add("Empty");
}
DB.CloseDatabase();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
// fill Teacher_by_useing_name
public void Select_Teacher_By_TeacherName()
{
try
{
DB.OpenDatabase();
DB.Cmd = new SqlCommand("select Teacher_ID from TB_Teacher
where Teacher_Name = '" + S_Teacher_Name + "' ",
DB.Cn);
DB.read = DB.Cmd.ExecuteReader();
if (DB.read.HasRows)
{
while (DB.read.Read())
{
Teacher_ID = Convert.ToInt32(DB.read["Teacher_ID"]);
}
}
else
{
Teacher_ID = 0;
}
DB.CloseDatabase();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}