我有一个数据集 40张桌子。现在我想建立一种关系 这些表和节目之间 网格中的重要数据。我该怎么做?
答案 0 :(得分:5)
如果要创建类型化数据集,最简单的方法是在Visual Studio的数据集设计器中创建关系。只需右键单击设计器中的表,选择Add-> Relation,然后指定关系。
如果需要在代码中指定关系,可以这样做:
dataSet.Relations.Add(dataSet.Tables["Customers"].Columns["customerId"],
dataSet.Tables["Orders"].Columns["customerId"]);
在MSDN here中阅读所有相关信息。
答案 1 :(得分:1)
DataTables
中有大量DataSet
。
我要考虑的第一件事是通过使用JOIN数据库表的查询填充DataTables
来减少Relations
的数量(并消除对DataTables
的需要)。例如,可以将两个数据库表的数据合并为一个DataTable
,而不是将一个DataTable
用于产品类别而另一个用于产品详细信息。同样,对于Customer,Customer Address和Customer Phone,使用一个在所有三个数据库表上执行JOIN的查询来检索一个DataTable中的所有数据。
在DataTables
中最小化DataSet
的数量后,如果Relations
具有匹配的列,则可以在DataTables
之间添加DataTable
(即使列具有不同的名称) )。例如,可能存在订单DataTable
,其CustomerID列与Customers Relation
中的ID列相匹配。
以下是为此情况向DataSet
添加DataSet
的代码。假设我们有一个DataTables
dst,其中包含两个DataColumn customerColumn, orderColumn;
customerColumn = dst.Tables["Customers"].Columns["ID"];
orderColumn = dst.Tables["Orders"].Columns["CustomerID"];
DataRelation dr = new DataRelation("CustomerOrders", customerColumn, orderColumn);
dst.Relations.Add(dr);
客户和订单。
{{1}}
答案 2 :(得分:1)
ds.Relations.Add("Products_Category",
ds.Tables("Categories").Columns("CategoryID"),
ds.Tables("Products").Columns("CategoryID"));
答案 3 :(得分:0)
您尝试过类似的事情吗?
ds.Relations.Add("Products_Category",
ds.Tables("Categories").Columns("CategoryID"),
ds.Tables("Products").Columns("CategoryID"));
答案 4 :(得分:0)
<div>
<input id="r" type="range" min="0" max="255" oninput="changeRGB(0,event)">R<br>
<input id="g" type="range" min="0" max="255" oninput="changeRGB(1,event)">G<br>
<input id="b" type="range" min="0" max="255" oninput="changeRGB(2,event)">B<br>
<pre class="infoRGB"></pre>
</div>
<div>
<div class="box hsl"></div>
</div>
<div>
<input id="h" type="range" min="0" max="360" oninput="changeHS(0,event)">H<br>
<input id="s" type="range" min="0" max="255" oninput="changeHS(1,event)">S<br>
<input id="v" type="range" min="0" max="255" oninput="changeHS(2,event)">V<br>
<pre class="infoHS"></pre><br>
</div>