一ADO.ENT的主要组件
提供两个组件,用来访问和处理数据:.NET Framework 数据程序和DataSet(数据集)
.NET Framework:是专门为数据处理及快速地只进,只读访问数据而设计的组件。使用它可以连接数据源,执行命令和检索结果,直接对数据进行操作 。
DataSet:是专门为独立于任何数据源的数据访问而设计的。使用它,可以不必直接和数据源打交道,大批量地操作数据,也可以将数据绑定在控件上 。
NET Framework 数据提供程序
NET Framework 用于SQL Server的数据提供程序:提供对Microsoft SQL Server数据的访问。使用System.Data.SqlClient 命名空间
NET Framework 用于OLE DB 的数据提供程序:提供对OLE DB 公开的数据源中数据的访问。使用System.Data.OleDb命名空间
NET Framework 用于ODBC 的数据提供程序 :提供使用ODBC 公开的数据源中数据的访问。使用System.Data.Odbc命名空间
一、建立数据库连接
连接字符串的格式:"Server=服务器名或服务器IP地址;DataBase=数据库名称;User ID=用户名;Pwd=密码"
使用Connection对象连接SQL Server数据库的方法如下:
using System.Data.SqlClient;引用namespace
......
SqlConnection con=new SqlConnection(连接字符串);
con.Open();
......
//数据库相关操作
......
con.Close();
异常处理:
语法:
try{
//包含可能出现的异常代码!
}catch(处理异常的类型){
//处理异常的代码
}finally{
}
finally:无论是否发生异常,出现在finally块中的语句都会执行。
操作数据
一、SqlCommand
表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。 此类不能被继承。Command类可以执行任何类型的SQL语句。
我们在使用其执行SQL语句的时候,必须首先声明其对象,常用的三种:
SqlCommand() 初始化 SqlCommand 类的新实例。
SqlCommand(String) 用查询文本初始化 SqlCommand 类的新实例。
SqlCommand(String,SqlConnection) 初始化具有查询文本和 SqlConnection 的 SqlCommand 类的新实例。
【注】SqlConnection 的使用将不单独讲,因为在操作数据库的时候都会用到。
CommandText 获取或设置要对数据源执行的 Transact-SQL 语句、表名或存储过程。
CommandType 获取或设置一个值,该值指示如何解释 CommandText 属性。
Connection 获取或设置 SqlCommand 的此实例使用的 SqlConnection。
Parameters 获取 SqlParameterCollection(sql语句中需要输入的阐述集合)。
ExecuteNonQuery 执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令并返回受影响的行数。
ExecuteReader() 将 CommandText 发送到 Connection 并生成一个 SqlDataReader。
ExecuteReader(CommandBehavior) 将 CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader。
ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。
Dispose() 释放由 Component 使用的所有资源。
二、SqlDataReader
提供一种从 SQL Server 数据库读取行的只进流的方式。 此类不能被继承。只能向下顺序执行,一次读取一条记录,所以需要随时保存的记录。
IsClosed 检索一个布尔值,该值指示是否已关闭指定的 SqlDataReader 实例。
常用方法
Read() 使 SqlDataReader 前进到下一条记录。
Close 关闭 SqlDataReader 对象。
Dispose() 释放 DbDataReader 类的当前实例所使用的所有资源。
IsCommandBehavior 确定指定的 CommandBehavior 是否与 SqlDataReader 的对应项匹配。
IsDBNull 获取一个值,用于指示列中是否包含不存在的或缺少的值。
对数据库中的数据增删改(使用Command对象的ExecuteNonQuery()方法)
ExecuteNonQuery()方法用于执行指定的SQL语句,如:update、insert、delete,它返回的是受SQL语句影响的行数
使用Command对象的ExecuteNonQuery()方法的步骤如下:
1. 创建Connection对象
2. 定义要执行的SQL语句
3. 创建Command对象
4. 执行ExecuteNonQuery()方法 注意:完成操作后不要忘记关闭conn对象。
5. 根据返回结果,进行后续处理,如返回值小于或等于0说明没有记录影响。