Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SqlDataReader、DataTable和DataSet之间的区别及其用途_C# - Fatal编程技术网

C# SqlDataReader、DataTable和DataSet之间的区别及其用途

C# SqlDataReader、DataTable和DataSet之间的区别及其用途,c#,C#,我阅读了一篇有关SQL Server数据访问的文章,发现了三种方法: public SqlDataReader ExecuteReader(string procedureName, IDictionary<string, IConvertible> parameters = null) public DataTable ExecuteDataTable(string procedureName, IDictionary<string, IConvertible> p

我阅读了一篇有关SQL Server数据访问的文章,发现了三种方法:

public SqlDataReader ExecuteReader(string procedureName, IDictionary<string, IConvertible> parameters = null) 

public DataTable ExecuteDataTable(string procedureName, IDictionary<string, IConvertible> parameters = null)  

public DataSet ExecuteDataSet(string procedureName, IDictionary<string, IConvertible> parameters = null)  
公共SqlDataReader ExecuteReader(字符串过程重命名,IDictionary参数=null) 公共数据表ExecuteDataTable(字符串procedureName,IDictionary参数=null) 公共数据集ExecuteDataSet(字符串procedureName,IDictionary参数=null) 这些是抽象
DataAccessBase
类中编写的方法


有人能解释一下,返回
SqlDataReader
DataTable
DataSet
需要什么吗?我们将使用哪些场景?

数据集
数据表
是相关的,一个
数据集
可以包含多个表。两者都是内存中的集合,如
列表
数组
。但是
SqlDataReader
是不相关的,因为它是直接到数据库的只向前的流。因此,它只允许您访问一条数据记录,并将其前进到下一条记录


您应该阅读有关ADO.NET和这些类的教程和文档。第一个调用端口始终是MSDN。例如或。

你必须阅读并尝试每一个,从msdn开始,自己做一些测试,你会完全理解它们是什么,网上有很多文章详细介绍了它们,比如:有很多很棒的,ADO.NET上的基本初学者教程,详细解释了所有这些-只需启动您喜爱的搜索引擎并开始(重新)搜索!