从另一个DataSet创建DataSet

时间:2010-05-06 20:28:41

标签: c# winforms dataset

我有一个客户端 - 服务器项目(C#中公司的小项目),服务器有一个带有一些表的DataSet(由于某些原因没有数据库,所以我们将DataSet保存为XML文件)。 当客户端连接到服务器时,服务器应该向客户端发送一些信息,具体取决于他的权限,一些客户端必须添加或删除服务器中的DataSet。

我正在考虑制作一个新的小型DataSet并将其发送到客户端(作为xml),但我不知道如何生成具有特定表和行的新DataSet(我尝试使用Linq到DataSet但没有任何效果)。<登记/>
我的问题是如何做到这一点,这是向客户发送信息的好方法吗?你能建议一个更好的方案来向客户发送数据(我的意思是代替创建一个新的DataSet)。

4 个答案:

答案 0 :(得分:2)

加载DataSet,然后将其保存为新名称。这是您的新数据集。然后你可以单独加载它。

完成后,我们假设新数据集名为ds。您可以使用ds.Tables.Remove(string)删除整个表,使用ds.Tables [string] .Columns.Remove(string)删除单个列。删除不需要的表元素后,可以使用ds.Tables [string] .Rows.Remove(int)删除数据行。

答案 1 :(得分:1)

使用DataSet.Merge(DataTable)方法。

例如,

DataSet theDataSetToPassAround = new DataSet();
theDataSetToPassAround.Merge(youDataSet.Table[indexOfTheTableToPassAround]);

如果需要,Merge方法还有一个带有DataRows数组的重载。

答案 2 :(得分:1)

如果您向用户发送数据供他们分析,审核,报告..那么您应该使用Excel或CSV作为输出。有很多方法可以将数据发送回用户,该数据将直接在Excel中打开,我目前使用最多的是NPOI。当我开始使用NPOI时,我发现了从DataTable到Excel的大量示例。如果您决定将DataSet输出到Excel,NPOI也支持多个工作表。

答案 3 :(得分:0)

为什么传递数据集。 Web服务或WCF用于此目的。为什么不直接传递xml而不是将其转换为数据集并传递它然后将其转换回xml。