2

我有两张桌子..

Students

  • 学生卡
  • 姓名
  • 学号

School

  • 学号
  • 学校名称。

这是我的场景,我DetailsView在我的页面上创建了一个显示 X StudentID 及其列的页面。显示 SchoolID(来自学生表)列时,它将按预期显示实际 ID。

我想知道如何显示实际的学校名称而不是 schoolID,我首先做的只是在第一个查询中进行查询,该查询显示学校的名称......

SELECT StudentID, (SELECT SchoolName FROM Schools 
                WHERE Schools.SchoolID = Students.SchoolID) 
                FROM Students WHERE StudentID=1

尽管这可行,但在尝试通过 编辑记录时会产生问题GridView,但它不会在这些字段中保存正确的数据。

在编辑步骤中,GridView我可以将 SchoolID 键与 SchoolName 绑定,但是在查询中有查询时这将不起作用。

所以我的问题是如何在不更改 SQL 命令的情况下在 Visual Studio 中显示外键数据?

4

2 回答 2

1

您可以使用连接查询来做到这一点,例如:

select students.StudentId,students.Name,students.SchoolID,school.SchoolName from students join school on students.SchoolID=school.SchoolID

而且,为了更好地理解“JOINS”,这里有一个有用的链接:http ://www.sitepoint.com/understanding-sql-joins-mysql-database/

于 2012-12-21T07:56:36.310 回答
1

以前的解决方案是编辑 Select 命令(在创建 SQLDatasource 之后)以对包含有意义的字段名称的表执行内部连接。

在这里检查

1.链接

2.链接

于 2012-12-21T05:39:11.333 回答