先生实际上我从数据库中的三个表中获取数据。我在数据库中使用具有内部联接的查询,这对我来说很好,我从该查询填充数据集,但问题是我想要分隔属于每个记录中不同表的字段。 例如:我在db中有一个学生,老师和班级表。我使用这些表之间的内连接来获取数据。我从该结果填充数据集。现在在前端我想分离属于单独表的数据,我希望学生字段分开,教师字段分开。我该怎么办?什么操作要求我对数据集执行以实现这种情况。
答案 0 :(得分:2)
如果使用存储过程,则可以返回3个不同的select语句,而不是使用连接。然后,您可以像这样访问表格:
ds.Tables[0].Columns["studentid"]
ds.Tables[1].Columns["classid"]
ds.Tables[2].Columns["teacherid"]
答案 1 :(得分:1)
您必须创建一个新数据集,其中包含三个不同的表及其正确的关系。
如果您已在数据库中拥有该结构,则可以在Visual Studio中单击 Data 上的菜单栏 - 添加新数据源并选择数据库 - 数据集在第一个向导对话框中。然后定义连接字符串并选择所有需要的表,视图等。
完成向导后,您将获得一个包含所有所需表格及其相互关系的新数据集。在设计器中,您可以打开数据 - 显示数据源面板,将所需的表拖放到表单/控件上,并创建非常容易的主/详细视图。
答案 2 :(得分: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,让您的生活更轻松。希望这会有所帮助。
答案 3 :(得分:0)
Don't use a dataset.
为学生,教师和班级表定义单独的班级。使用您的DAL填充这些类和&在您的申请中单独访问它们。