我目前使用DataTable从数据库中获取结果,可以在我的代码中使用该结果。
但是,网络上的许多示例都显示了使用DataSet并通过collections方法访问表的情况。
使用数据集或数据表作为SQL结果的存储方法是否有任何优势(无论是性能还是其他方面)?
我目前使用DataTable从数据库中获取结果,可以在我的代码中使用该结果。
但是,网络上的许多示例都显示了使用DataSet并通过collections方法访问表的情况。
使用数据集或数据表作为SQL结果的存储方法是否有任何优势(无论是性能还是其他方面)?
Answers:
在1.x中,DataTables曾经做不到DataSets可以做的事情(不记得确切是什么)。在2.x中所做的所有更改。我的猜测是这就是为什么许多示例仍使用数据集的原因。DataTables应该更快,因为它们更轻巧。如果仅提取单个结果集,则这是您在这两者之间的最佳选择。
无论如何,当您只处理一个表时,我发现最大的实际差异是DataSet具有“ HasChanges”方法,而DataTable没有。两者都有一个“ GetChanges”,因此您可以使用它并测试null。
DataTable对象将表格数据表示为行,列和约束的内存表格缓存。DataSet由DataTable对象的集合组成,您可以使用DataRelation对象将它们彼此关联。