从存储过程执行返回的类型

时间:2011-03-14 21:09:15

标签: c# sql datareader

我有一个我想要执行的SP并将groos结果保存在一边(在类字段中) 稍后我想从这个结果中获取某些行的某些列的值。

返回的类型可能是什么?哪一个最适合我的目标?
我知道有DataSet,DataReader,resultSet。还有什么?
它们之间的主要区别是什么?

2 个答案:

答案 0 :(得分:0)

如果您想存储结果并在以后使用它们(如您所写),您可以使用繁重的数据集或通过数据读取器将轻量级列表填充到自定义容器类型。

如果您想立即使用结果,请继续使用数据阅读器。

结果集是旧的VB6类AFAIK或当前的Java接口。

答案 1 :(得分:0)

获取数据的传统方法是使用System.Data.SqlClient命名空间中的类。您只需要读取记录集,就可以使用DataReader作为只读前向类型的游标,快速高效。 DataReader是可绑定的,但是你当时只读了一条记录,因此没有返回的选项。如果记录集非常大,那么读者也很好,因为它在内存中只存储了一条记录。 您可以使用DataAdapter获取DataSet,然后您可以完全控制DataSet类中的所有数据。它在系统上更重,但在您需要处理应用程序中的数据时非常强大。如果查询返回多个记录集,也可以使用DataSet 因此,它实际上取决于从数据库中获取数据后需要对数据执行的操作。如果您只需要将其读入其他内容,请使用DataReader,否则使用DataSet。