【发布时间】:2012-11-06 12:04:13
【问题描述】:
我需要将两个表绑定到一个数据集中。我有三个名为 Student、StudentMarks 的表。
如果我知道 studentId,我可以像这样查询学生表
DataSet ds=new DataSet();
SqlCommand cmd=new SqlCommand("
SELECT *
FROM STUDENTS
WHERE STUDENTID=1;
SELECT *
FROM STUDENTS
WHERE STUDENTID=1");
SqlDataAdapter da=new SqlDataAdapter(cmd);
da.Fill(ds);
像这样。这样我就可以访问这两个表,例如 ds.Table[0] 和 ds.Table[1]。
但我的问题是,如果我不知道 studentid,并且如果我想查询所有学生以及他们的分数,并且我必须在两个不同的表中获取这些详细信息,我该如何获取?
如果我加入这两个表,结果将在一个表中,我不知道该怎么做,有人可以帮我吗?提前致谢。
【问题讨论】:
-
你能解释一下检索结果后你想做什么吗?让所有 Stuundets 都有相应的标记,可以通过像 mrigesh gupta 和 Mahmoud Gamal 建议你这样的 JOIN 来完成。这将是正常的方法。为什么要两个数据集?
-
@Johannes 我需要像 ds.DataTable[0] 和 ds.DataTable[1] 一样查询 DataSet 中的 DataTables,因为在另一个中使用相同的格式(当我知道学生 ID 时)地点
-
但是为什么呢?您可以使用一些简单的 SQL 完成所有操作。无论如何,您可以运行两个查询并将结果添加到一个数据集中,请参阅link
-
@Johannes 谢谢,我会检查一下
标签: sql sql-server-2008