我有一个客户端 - 服务器项目(C#中公司的小项目),服务器有一个带有一些表的DataSet(由于某些原因没有数据库,所以我们将DataSet保存为XML文件)。
当客户端连接到服务器时,服务器应该向客户端发送一些信息,具体取决于他的权限,一些客户端必须添加或删除服务器中的DataSet。
我正在考虑制作一个新的小型DataSet并将其发送到客户端(作为xml),但我不知道如何生成具有特定表和行的新DataSet(我尝试使用Linq到DataSet但没有任何效果)。<登记/>
我的问题是如何做到这一点,这是向客户发送信息的好方法吗?你能建议一个更好的方案来向客户发送数据(我的意思是代替创建一个新的DataSet)。
答案 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。