如何在DataGridView中显示来自多个表的数据

时间:2015-02-23 19:08:48

标签: c# sql-server winforms join datagridview

Curriculum table
===
CurriculumID (PK, auto-increment)
CurriculumName Varchar(255)

GradeLevel table
===
GradeLevelID (PK, auto-increment)
GradeLevel Varchar(255)
CurriculumID (foreign key to Curriculum)

SubjectCreator table
===
SubjectID(PK, auto-increment)
SubjectName Varchar(255)
SubjectDescription Varchar(255)
GradeLevelID (foreign key to GradeLevel)

这些是我的代码 我不知道查询显示3个表。只试过2个表。 这些是2个表的代码。     string sql =“从GradeLevelCreator中选择GradeLevelID,GradeLevelName,CurriculumName                   GradeLevelCreator上的内部联接CurriculumCreator。课程ID = CurriculumCreator.CurriculumID“;

string connectionString = "Data Source=TOSHIBA-PC\\KENNETH;Initial Catalog=HSPAEnrollmentSystem;Integrated Security=True";
string sql = "";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter dataadapter = new SqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
connection.Open();
dataadapter.Fill(ds, "GradeLevelCreator");
connection.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "GradeLevelCreator";

我想我只需要显示多个或3个表的查询。提前谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

试试这个SQL语句:

SELECT s.SubjectID, s.SubjectName, s.SubjectDescription,
g.GradeLevel, c.CurriculumName FROM SubjectCreator s
INNER JOIN GradeLevel g ON s.GradeLevelID = g.GradeLevelID
INNER JOIN Curriculum c ON g.CurriculumID = c.CurriculumID
相关问题