2013-04-03 94 views
1

实际上,我从数据库中的三个表中获取数据。我在数据库中使用了一个查询,该查询的内部联接对我来说工作正常,而且我从该查询中填充数据集,但问题是我想要将属于每个记录中不同表的字段分开。例如: :我有一个学生,老师和班级表中的数据库。我使用这些表之间的内连接来获取数据。我从该结果填充数据集。现在在前端我想分开属于单独表格的数据,我希望学生字段分开,老师字段分开。我该怎么做?什么操作需要我在数据集上执行以实现这种情况。如何从数据集中分离不同表格的数据?

回答

1

你必须创建一个包含有它们的正确关系的三个不同表的新数据集。

如果你已经有你的数据库中的结构,你可以在Visual Studio中只需在菜单栏中点击数据 - 添加新的数据源并选择数据库 - 在第一个向导对话框数据集。随后定义连接字符串,然后选择所需的所有表,视图等

当你完成,你会得到一个包含所有需要的表及其相互关系的新数据集向导。在设计师可以再打开数据 - 显示数据源板和拖/放所需的表到窗体/控制,也可以创建相当轻松掌握/详细信息视图。

1

遍历您的数据集和,因为你知道你的专栏,这将是您的查询的结果,你可以做这样的事情。

ds.Tables[0].Columns["student_colummn1"] 
    ds.Tables[0].Columns["student_colummn2"] 
    ds.Tables[0].Columns["student_colummn3"] 

    ds.Tables[0].Columns["teacher_column1"] 
    ds.Tables[0].Columns["teacher_column2"] 
    ds.Tables[0].Columns["teacher_column3"] 

    ds.Tables[0].Columns["class_column1"] 
    ds.Tables[0].Columns["class_column2"] 
    ds.Tables[0].Columns["class_column3"] 

如果可能查看LINQ,使您的生活更轻松。希望这可以帮助。

2

如果使用存储过程,你可以返回,而不是使用连接3型动物select语句。然后,您可以访问的表像这样:

0

Don't use a dataset.定义不同班的学生,教师和班级表。使用您的DAL来填充这些类别&分别在您的应用程序中访问它们。