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;
}
和按钮:
private void btnAdminStudentView_Click(object sender, EventArgs e)
{
DataSet ds = studentHelperClass.selectStudent();
dataGridStudent.DataSource = ds.Tables["studentInfo"];
}
为什么这会在按钮点击上给我这样的结果?
答案 0 :(得分:6)
您的查询生成笛卡尔积,因为您无法定义记录彼此之间的关系。您需要添加条件
SELECT person.*, student.gradePointAverage, student.majorField
FROM person JOIN student
ON person.ID = student.ID // example only
这意味着表格person
中的记录与表格ID
上的student
相关。
要进一步了解联接,请访问以下链接: