背景:机房收费系统重构时,对SqlHelper中的部分代码不是很懂,尤其是定义了许多Command和Connection什么的,最近看书的时候看到了,现在总结一下,也算是拓宽一下自己的知识视野吧。
一、核心元素
Connection、Command、DataReader、DataAdapter
二、主要功能
Connection:建立与特定数据远之间的连接
Command:对数据远执行操作命令
DataReader:从数据源中读取只进且只读的数据流,是一个简易的数据集
DataAdapter:用数据源填充DataSet并解析更新
三、详细说明及举例
1、Connection对象
根据所用的.NET Framework数据提供程序的不同一般分为:
SqlConnection对象:SQLServer7.0以上版本(重点介绍)
OleDbConnection对象:SQLServer7.0一下版本
连接对象最重要的属性是ConnectionString,该属性用来设置连接字符串。
例:"Data Source=MySQLServer;Initial Catalog=Northwind;User ID=sa;Password="";"
注释:Data Source,指明数据库服务器的位置。可以是电脑名称,IP地址,Localhost(代表使用本机作服务器)等。
Initial Catalog,指明数据库服务器的位置。
UserID和Password指明登陆数据库服务器的账户和密码。
2、Command对象
在与数据源建立连接之后,可使用Command对象来对数据源执行查询、插入、删除、修改等操作。具体操作可以使用SQL语句,也可以使用存储过程。同样,根据所用的.NET Framework数据提供程序的不同,Command对象一般分为SqlCommand对象和OleDbCommand对象。
Command对象的常用属性包括:
CommandType属性:用来选择Command对象要执行的命令类型。该属性可以取Text、StoredProcedure和 TableDirect3种不同的值。
CommandText属性:根据CommandType属性的取值,设置要执行的SQL命令、存储过程名或表名。
Connection:用来设置要使用的Connection对象名。
3、DataReader对象
是一个简单的数据集,是想从数据源中检索数据,检索结果保存为快速、只向前、只读的数据流。根据所用的.NET Framework 数据提供程序的不同,DataReader分为SqlDataReader和OleDbDataReader。
DataReader对象可通过Command对象的ExecuteReader方法从数据源中检索数据来创建。
4、DataAdapter对象
主要功能:从数据源中检索数据、填充DataSet对象中的表、把用户对DataSet对象的更改写入到数据源
常用属性:InsertCommand、DeleteCommand、SelectCommand和UpdateCommand
这些属性用来获取SQL语句或存储过程,分别为实现在数据源中插入新纪录,删除记录,选择 记录和修改记录。通常将这些属性设置为某个Command对象的名称,由该Command对象执行相应的 SQL语句。
常用方法:Fill方法,Update方法
Fill方法:从数据源中提取数据以填充数据集。
格式:Public Function Fill (Byval dataSet as DataSet,Byval srcTable as String) As Integer
解释:从参数srcTable指定的表中提取数据以填充参数dataSet指定的数据集,其结果返回 dataSet中成功添加或刷新的记录个数。
Update方法:用于修改数据源。
格式:Public Overridable Function Update(Byval dataSet as DataSet) As Integer
解释:把对参数dataSet指定的数据集进行的插入、更新或删除操作更新到数据源中,这种格 式通常用于数据集只有一个表的情况下,其结果返回dataSet 中被成功更新的记录个 数。
附:DataSet数据集:是ADO.NET结构的核心组件,其作用在于实现独立于任何数据源的数据访问。是从任何数据源中检索后得到的数据并且保存在缓存中,它可以包含表,所有表的约束、索引和关系。因此,也可以把它看作是内存中德一个小型关系数据库。
一组DataSet对象包含一组DataTable对象和DataRelation对象,其中每个DataTable对象由一组DataRow、DataColumn和Constraint对象组成。
DataTable:代表数据表
DataRelation:代表两个数据表之间的关系
DataRow:代表DataTable中的数据行,即记录
DataColumn:代表DataTable中的数据列,包括列的名称、类型和属性
Constraint:代表DataTable中的主键(主码)、外键(外码)等约束信息。
四、一张小图
五、学习感悟
学习是不断自我完善的过程,每次接触新的东西,一定要给它找个结点,找到和以前知识的联系,找到它们内部的联系,这样既可以帮助你加深理解,还可以更好的巩固它在脑海里的记忆(大脑喜欢图像哦,嘿嘿)。洋洋洒洒一大篇,还不如小图一张(这种感觉有木有???)