2013-09-16 41 views
4
public static DataSet selectStudent() 
{ 
     MySqlConnection conn = connection(); 
     conn.Open(); 
     MySqlCommand cmd = new MySqlCommand(); 
     cmd.Connection = conn; 
     MySqlDataAdapter adap = new MySqlDataAdapter(@"SELECT person.*, student.gradePointAverage, student.majorField FROM person JOIN student", conn); 
     MySqlCommandBuilder sqlCmd = new MySqlCommandBuilder(adap); 
     DataSet sqlSet = new DataSet(); 
     adap.Fill (sqlSet, "studentInfo"); 
     conn.Close(); 
     return sqlSet; 
} 

和按钮:为什么我的SELECT与dataGrid重复?

private void btnAdminStudentView_Click(object sender, EventArgs e) 
{ 
    DataSet ds = studentHelperClass.selectStudent(); 
    dataGridStudent.DataSource = ds.Tables["studentInfo"]; 
} 

为什么会变成这样给我这样的按钮,结果点击?因为你没有定义的记录如何相互关联

enter image description here

+2

可能是因为连接条件(或缺乏) – Ric

回答

6

你查询产生笛卡尔乘积。您需要添加一个条件,

SELECT person.*, student.gradePointAverage, student.majorField 
FROM person JOIN student 
    ON person.ID = student.ID // example only 

这意味着,从表person记录与IDstudent有关。

为了进一步获得更多的知识有关加入,请访问以下链接:

+0

谢谢你,这个工作。在10分钟内给出正确的答案。 – user2469932

相关问题