ADO.NET 核心对象简介

ADO.NET

 

ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口。

ADO.NET类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System.Data.SqlClient。

ADO.NET类最重要的优点是支持数据库以断开连接的方式工作。

ADO.NET主要通过两个核心组件来完成对数据库的操作,分别是DataSet和.NET数据库提供程序。数据集,在命令空间:System.Data下。

前者是ADO.NET断开式结构的核心组件,后者是专门为直接访问数据库,对其进行快速的只进,只读访问数据等数据处理而设计的组件。

ADO.NET常用对象:


Connection  连接数据库的通道

Command  命令执行对象

DataReader  数据读取器(只读只进)

DataAdapter  数据适配器

DateSet  数据在内存中的表现形式,临时数据库,断开式操作。

 

SqlConnection conn = new SqlConnection();  //创建Connection连接数据库对象

conn.ConnectionString = "data sourse=.;initalial catalog=MySchool;integrated security=true;"  //连接字符串

 

SqlCommand cmd = new SqlCommand();  //创建Command命令执行对象

cmd.CommandText = "SELECT * FROM dbo.Student";  //SQL语句

cmd.Connection = conn;  //绑定连接

cmd.CommandType = CommandType.Text;  //它告诉.net接下来执行的是一个文本(text)、存储过程(StoredProcedure)还是表名称(TableDirect).

 

//传参sql语句

cmd.CommandText = "SELECT * FROM dbo.Student where UesrID=@ID";  //SQL语句

SqlParameter  para=new SqlParameter("@ID",SqlDbType.int,4);  //生成一个名为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型,长度。与数据库中对应字段相同

para.Value=Id;  //给参数赋值

cmd.Parameters.Add(para);  //必须把参数变量添加到命令对象中去。

 

 

conn.Open();  //打开连接

 

int i = Covert.ToInt32(cmd.Executescalar())  //返回结果集中第一行的第一列,一般用于返回单个结果(一行一列)的时候使用,值有可能返回null。

 

int i = Covert.ToInt32(cmd.ExecuteNonQuery())  //返回受影响的行数,一般用于 增删改 语句。执行其他语句默认返回-1。

 

SqlDataReader reader= cmd.ExecuteReader();  //执行命令,返回DataReader对象

if(reader.HasRows)  //判断是否有结果返回

while (reader.Read())  //循环读取
{

//do something

}

conn.Close();  //关闭连接

reader.Close();  //关闭reader

 

SqlDataAdapter sda = new SqlDataAdapter(sql语句,conn)  //创建对象

DataSet ds = new Dataset()

sda.fill(ds."表名")

 

 

SqlParameter  para=new SqlParameter("@Id",SqlDbType.int,4);  //生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同

para.Value=Id;  //给参数赋值

cmd.Parameters.Add(para);  //把参数变量添加到命令对象中去。

 

一次添加多个参数

SqlParameter[]  para=new SqlParameter[] {new SqlParameter("@Id",SqlDbType.int,4){value = xxx},new SqlParameter("@Id",SqlDbType.int,4){value = xxx}};

cmd.Parameters.AddRange(para);

posted @ 2016-12-02 16:54  Aaxuan  阅读(3806)  评论(0编辑  收藏  举报