ADO.NET对象归纳总结

来源:岁月联盟 编辑:exp 时间:2009-10-29

我们知道做程序就得访问数据库,在网上收集了大量的资料,现在和大家分享一下吧。ADO.NET是Microsoft数据库访问的一种新技术,它支持连接式访问和断开式访问两种方案。ADO.NET中定义了一套接口IDbConnection、IDbCommand、IDbDataAdapter和IDDataReader,并且还有显示这些接口的抽象类:DbConnection、DbCommand、DbDataAdapter以及DataReader;不同的数据库厂商实现这些接口的抽象类各不相同。

◆ADO.NET对象Connection:Connection对象有两个属性:ConnectionString 和 State;以及两个重要方法:Open和close。
◆ADO.NET对象Command:Command对象有一个属性:CommandType(sql语句或者存储过程);三个重要方法:ExecuteNonQuery(增、删、改影响的行数)、ExecuteReader(返回DataReader对象类型)ExecuteScalar(返回结果集的第一行第一列值)
◆ADO.NET对象DataReader:DataReader对象不能直接实例化,必须通过Command对象中的一个方法来创建;DataReader有很多属性,Read(是否还有下一条数据),读取数据的属性(三中方式)
◆ADO.NET对象DataAdapter:作用是充当适配器;其中有一个重要方法Fill,这个方法可以在不打开数据库连接的情况进行数据操作
◆ADO.NET对象DataSet:相当于内存中的一个数据库,使用DataAdapter对象填充DataSet或者DataTable
◆ADO.NET对象DataTable(DataColumn对象和DataRow对象):它有两个属性Columns和Rows;

参数化SQL语句:

Sql2005查询方法:

  1. //实例化Connection对象   
  2. SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa");   
  3. //实例化Command对象   
  4. SqlCommand command = new SqlCommand("select * from UserInfo where sex=@sex and age>@age", connection);   
  5. //第一种添加查询参数的例子   
  6. command.Parameters.AddWithValue("@sex", true);   
  7. //第二种添加查询参数的例子   
  8. SqlParameter parameter = new SqlParameter("@age", SqlDbType.Int);//注意UserInfo表里age字段是int类型的   
  9. parameter.Value = 30;   
  10. command.Parameters.Add(parameter);//添加参数   
  11. //实例化DataAdapter   
  12. SqlDataAdapter adapter = new SqlDataAdapter(command);   
  13. DataTable data = new DataTable();  

占位符:

分页查询:首先计算出总行数,其次算出多少页

首先:

  1. int count = int.Parse(command.ExecuteScalar().ToString()); 

其次:

  1. page=(m%n)==0?(m/n):(m/n+1);    

n为每页显示的行数

最后:

  1. select top 5 * from UserInfo where UserId not in  
  2. (select top (n-1)*5 UserID from UserInfo order by UserID asc)  
  3. order by UserID asc