SqlCommand SqlDataAdapter DataSet 等相关概念的解释(转)

sqlconnection数据库连接对象:只有联接才能进行其它操作
sqldataadapter数据适配器对象,就是用某个sqlconnection,执行某个查询语句(SELECT语句),放到某个DataSet里
sqlcommand 数据命令对象(SELECT,INSERT,DELETE,UPDATE等,还可以是存储过程) SqlCommand.Parameter属性传sql参数
ExecuteScalar :执行查询,返回单个字段,比如求和的结果,平均值,最大最小值等等
ExecuteReader执行快速只读向前查询,一般对单条记录的多个字段逐个查询,多条记录亦可,
通俗点说吧,通常来说是这样的:
DataSet和SqlDataAdapter在一起用,就没SqlCommand什么事了,通常作用是把某张表的信息显示出来,比如显示在GridView上之类的
ExecuteNonQuery和SqlCommand一起用,也就没DataSet和SqlDataAdapter什么事了,通常用在对数据的增加、修改、删除,注意查询不能用它
要说查询SqlDataReader和SqlCommand一起使用,是用来查询的,我想你是这个意思,按照我的理解,查询少量数据的时候使用SqlDataReader比较方便和灵活,效率也高,比如查询某一行数据之类的
另外还有个ExecuteScalar也和SqlCommand一起用作用,返回单个值,如求和、总行数等SQL语句的聚合函数,比如SELECT COUNT(*) FROM 表名1
SqlConnection
表示 SQL Server 数据库的一个打开的连接。
System.Data.SqlClient.SqlConnection
SqlConnection 对象表示与 SQL Server 数据源的一个唯一的会话。对于客户端/服务器数据库系统,它相当于到服务器的网络连接。SqlConnection 与 SqlDataAdapter 和 SqlCommand 一起使用,以便在连接 Microsoft SQL Server 数据库时提高性能。对于所有第三方 SQL 服务器产品以及其他支持 OLE DB 的数据源,请使用 OleDbConnection。
SqlDataAdapter
表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。
System.Data.SqlClient.SqlDataAdapter
SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。SqlDataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。
SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 Microsoft SQL Server 数据库时提高性能。若要访问其他数据源,可使用 OleDbDataAdapter 以及与之关联的 OleDbCommand 和 OleDbConnection。
SqlDataAdapter 还包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 属性,使数据的加载和更新更加方便。
SqlCommand
表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。
System.Data.SqlClient.SqlCommand
SqlCommand 特别提供了以下对 SQL Server 数据库执行命令的方法:
ExecuteReader 执行返回行的命令。为了提高性能,ExecuteReader 使用 Transact-SQL sp_executesql 系统存储过程调用命令。因此,如果用于执行像 Transact-SQL SET 语句这样的命令,ExecuteReader 可能无法获得预期效果。
ExecuteNonQuery 执行如 Transact-SQL INSERT、DELELE、UPDATE 和 SET 语句等命令。
ExecuteScalar 从数据库中检索单个值(例如一个聚合值)。
ExecuteXmlReader 将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。