ADO.NET基础笔记(2)


作者:云都小生


概述



ADO.NET是.NET的一个模块,可以用于应用程序与数据库之间的交互(连接、操作)。

在这个模块中,支持了多种数据的连接、操作方法,这里主要是整理SqlServer数据库的相关类与相关操作。


SqlConnection类


SqlConnection继承自Connection,是数据库连接类。

//方法原型
public sealed class SqlConnection(){};

//构造方法 初始化一个新的SqlConnection实例
SqlConnection();

//构造方法 初始化一个新的SqlConnection实例,并将连接字符串作为参数
SqlConnection(String connStr);

//构造方法,首先是连接字符串,其次是SQL凭据
SqlConnection(String connStr,SqlCredential,cdt);

关于SQL凭据SqlCredential类的信息,在下面有补充说明。

连接字符串有两种格式;

//这个字符串是SQL身份认证的格式
string connStr1 = "Server=服务器名;Database=数据库名;user=用户名;pwd=密码;";

//这个字符串是Windows集成认证的格式
string connStr2 = "Server=服务器名;Database=数据库名;integrated security=true;";

SqlConnection提供的方法中,有一些比较重要的,如下:

//用于启动数据库事务
BeginTransaction()  

//更改当前数据库
ChangeDatabase(String databaseName) 

//更改指定用户的SQL Server密码
ChangePassword(String userName,String newPassword)

//关闭数据库连接
Close()

//打开数据库连接
Open()


SqlCommand类


SqlCommand类用于执行执行SQL指令的类,这个类也是一个封闭类,不能被继承。

方法原型:

public sealed class SqlCommand(){};

在这个类里面封装了两个关键的属性——Connectionn和CommandText。

SqlCommand sqlcom = new SqlCommand();
sqlcom.Connection = conn;
sqlcom.CommandText = sqlStr;

Connection是数据库连接对象,CommandText是需要执行的数据库指令。

//构造函数 初始化SqlCommand类的新实例
SqlCommand()

//构造方法 conStr是数据库指令
SqlCommand(String conStr)

//构造方法 conn是数据库连接对象
SqlCommand(String conStr,SqlConnection conn)

SqlCommand类中封装了这些方法

//它试图取消一个SqlCommand的执行
Cancel()

/创建一个新的SqlCommand对象,是当前实例的一个副本
Clone()

//通常这个方法用于读取结果集的所有信息,将这些信息都封装在一个DataReader,返回
ExecuteReader()

//这个方法只能返回结果集中第一行第一列的值
ExecuteScalar()

//返回执行语句后受影响的行数
ExecuteNonQuery()


SqlDataReader类


SqlDataReader用于从SQL Server数据库读取数据,SqlCommand.ExecuteReader()方法执行后会返回一整个结果集,这个结果集就是SqlDataReader对象。

SqlDataReader的原型如下

public class SqlDataReader(){};

SqlDataReaderd的属性包含

//获取与SqlDataReader关联的SqlConnection
Connection

//用于获取当前行中的列数
FieldCount

//用于一个值,指示SqlDataReader是否包含一行或多行
HasRows

//指示指定的SqlDataReader实例是否已关闭
IsClosed

//DataReader reader = command.ExecuteReader();
//reader["列名"] reader[0]
//这个属性像数组一样,来索引结果集中不同的列的值
Item[String]
Item[Int32] 

我们来看看这个类提供的方法

//关闭SqlDataReader对象
Close()

//当读取SQL语句的结果时,它用来获得下一个结果
NextResult()

//从SQL Server数据中读取记录
Read()


DataSet类



DataSet类包含数据的数据集,在数据库连接没有开启的情况下可以获取数据,用来映射数据集。这是一个内存数据存储,可以同时容纳多个表(DataTable)。

DataSet类的构造方法如下

//初始化DataSet类的新实例
DataSet()

//使用给定名称初始化DataSet类的新实例
DataSet(string)

DataSet类的属性

//用于获取或设置当前DataSet的名称
DataSetName

//用于获取DataSet中包含的表的集合
Tables

DataSet类的方法

//删除所有表中的所有行来清楚任何DataSet中的所有数据
Clear() 

//复制此DataSet的结构
Clone()

//复制此DataSet的结构和数据
Copy()


DataAdapter类



如果我们每一次检索数据库都需要连接一次数据库,那性能和效率是十分低下的。因为有了我们上面的DataSet,在没有连接的情况下,也可以访问映射数据。但是DataSet的数据怎么来呢?那就是DataApdater了。

这个类就是数据源跟DataSet之间的桥梁。我们的DataSet对象需要更新数据或者检索数据的时候,就需要通过DataAdapter对象。

方法原型(签名)

public class DataAdapter : Component, IDataAdapter

构造方法

DataAdapter()

DataAdapter(DataAdapter) 根据同一类型的对象初始化DataAdapter 

接下来的笔记再多加一些关于DataSet和DataAdapter的应用。

2018/1/21 15:05:48 @Author:云都小生

你可能感兴趣的:(ADO.NET)