C# 在哪里使用执行标量、执行读取器和数据集?

C# 在哪里使用执行标量、执行读取器和数据集?,c#,sql,database,ado.net,C#,Sql,Database,Ado.net,我知道我可以使用这三个术语从数据库中读取数据,但任何一个术语能正确指导我何时使用ExecuteScalar、ExecuteReader和DataSet 何时使用ExecuteScalar :使用它执行任何用户定义的函数或存储过程,这些函数或存储过程通常具有标量返回值。i、 e只返回一个值。但是,它也可以用于其他查询或存储过程,但在这种情况下,它只返回查询返回的结果集中第一行的第一列。其他列或行将被忽略 何时使用ExecuteReader :用于对数据库或存储过程提出的常规查询。属性决定它是查询还

我知道我可以使用这三个术语从数据库中读取数据,但任何一个术语能正确指导我何时使用
ExecuteScalar
ExecuteReader
DataSet

何时使用ExecuteScalar

:使用它执行任何用户定义的函数或存储过程,这些函数或存储过程通常具有标量返回值。i、 e只返回一个值。但是,它也可以用于其他查询或存储过程,但在这种情况下,它只返回查询返回的结果集中第一行的第一列。其他列或行将被忽略

何时使用ExecuteReader

:用于对数据库或存储过程提出的常规查询。属性决定它是查询还是存储过程名称。它向连接发送
CommandText
,并构建一个
SqlDataReader
,返回一个集合

ExecuteReader
ExecuteScalar
不同,它表示通常来自数据库的数据的内存缓存