我们知道做程序就得访问数据库,在网上收集了大量的资料,现在和大家分享一下吧。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查询方法:
- //实例化Connection对象
- SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa");
- //实例化Command对象
- SqlCommand command = new SqlCommand("select * from UserInfo where sex=@sex and age>@age", connection);
- //***种添加查询参数的例子
- command.Parameters.AddWithValue("@sex", true);
- //第二种添加查询参数的例子
- SqlParameter parameter = new SqlParameter("@age", SqlDbType.Int);//注意UserInfo表里age字段是int类型的
- parameter.Value = 30;
- command.Parameters.Add(parameter);//添加参数
- //实例化DataAdapter
- SqlDataAdapter adapter = new SqlDataAdapter(command);
- DataTable data = new DataTable();
占位符:
分页查询:首先计算出总行数,其次算出多少页
首先:
- int count = int.Parse(command.ExecuteScalar().ToString());
其次:
- page=(m%n)==0?(m/n):(m/n+1);
n为每页显示的行数
***:
- select top 5 * from UserInfo where UserId not in
- (select top (n-1)*5 UserID from UserInfo order by UserID asc)
- order by UserID asc
【编辑推荐】