SqlConnection 是数据库连接,它是为SqlCommand来提供实际数据库的连接用的,执行命令需要通过它
SqlCommand 是数据库命令,通过它来执行具体的SQL命令。它需要通过SqlConnection才能执行。
SqlDataAdapter 是数据适配器,它本身通过 SqlCommand 工作,相当于桥梁,把数据库里面的表的内容同 DataTable 这些内存中的数据表内容联系起来。
SqlDataReader 是一个数据读取器,需要通过 SqlCommand 生成,它是一个快速、只可以向前阅读的阅读器,每次只能读取一条数据,游标不可后退。
DataSet 是一个内存中的数据库,你可以这样看成,里面包含了很多内存数据表、映射等关系。
DataTable 可以看成是一个内存里面的数据表,同数据库中的一个表类似
DataRow 就相当于是数据库里每个表的一行了。
以上三个是离线式的,也就是他们会读取所有数据到内存中,然后可以在断开数据库的情况下工作。
数据库用处很多,随便从网上找个网站源码都有这些例子的,楼主可以自己找找。
只是发表我的理解
Sqlcommand 查询语句的编译
Sqlconnection 连接对象 是要是连接数据器
SqlDataAdapter 查询对象 查询数据(好像这个是断点试查询)
SqlDataReader 查询对象 查询数据
DataSet 数据集(里面可以包括datetable和datalist)
DataTable 表结构的数据集合 (吧查询出来的数据放到里面,里面的结构就是一个XML)
DataRow 行数据集合(datatable的下一级)
这些类基本上可以分成两组来使用:
1. Sqlcommand
Sqlconnection
SqlDataReader
这三类为一组可以在连接的状态下获取数据,
简单代码如下,
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = conn.CreateCommand();
cmd.Text = "Select ID, Name from Employees";
SqlReader reader = cmd.ExecuteReader();
while( reader.Read() )
{
// 在这里读取数据
}
reader.Close();
2. 剩下的
SqlDataAdapter
DataSet
DataTable
DataRow 为一组,实现在非连接的状态下操作数据,
用法如下,
SqlDataAdapter adapter = new SqlDataAdapter(
"Select ID, Name from Employees", strConn);
DataSet myDataSet = new DataSet();
adapter.Fill(myDataSet, "ExcelInfo");
//现在myDataSet里包含了名字为"ExcelInfo"的DataTable
//而这个DataTable里包含了所有查询结果的DataRow
sqlcommand:执行非查询的Sql语句
sqlconnection:数据库连接的类
sqldatareader:检索大量数据。但是不可以更新数据。通常和sqlcommand搭配。
dataset:一个数据的容器,可以包含多个表和表之间的关系
datatable:想当于关系型数据库的表,包含多和行与列
datarow:想单于数据库的表达航
sqldataAdapter:用于从数据源中检索数据并填充dataset的表。还能将对dataset做出的更改,修改到数据源。
分了两部分来解释你的问题,可以看到出,那些类似经常搭配在一起的。
都是操作数据库的,找个例子看一下就好了