ADO.NET与面向对象
软件开发的三层:界面层(前端),业务逻辑层,数据访问层;
步骤:1.新建文件夹App_Code
2.建立ConnStr类
3.建立实体类
4.建立数据访问类。
分为两类:实体类、数据访问类;
实体类: 根据数据库表结构,类名和数据库表名一致;
每个成员变量要与数据库表的列相对应,对象正好可以列为一行数据,封装起来;
一个实体类做一个类;
访问权限是public的
数据访问类:起名实体类名Data;
访问权限是public的
实体类和数据访问类统称为数据访问层,每个表对应一个数据访问层;
新建一个连接字符串的静态的类:
访问权限是public的,必须有一个静态的成员变量,然后封装;
连接字符串:成员变量 = "server =.; Database =Data0908; user =sa; pwd =123;";
在数据访问操作的方法:在数据访问类的构造函数内,可以直接用连接字符串的类名点出来;
在构造函数内可以直接连接数据库:
SqlConnection conn = new SqlConnection(连接字符串类.);
SqlCommend cmd = conn.CreateCommand();
返回表中的所有数据
public List <Users> selectAll()
{
List <Users> us = new List<Users>(); //新建一个泛型集合
comm.CommandText = "select * from Users";
conn.Open();
SqlDataReader dr = comm.ExeuteReader();
while(dr.Read())
{
Users u = new Users;
u.Ids = Convert.ToInt32(dr["Ids"]);
u.UserName = dr["UserName"].ToString();
u.Password = dr["password"].ToString();
u.NickName = dr["NickName"].ToString();
u.Sex = Convert.ToBoolean(dr["Sex"]);
u.Birthday = Convert.ToDateTime(dr["Birthday"]);
u.NationCode = dr["NationCode"].ToString();
us.Add(u);
}
conn.Close();
return us;
}
遍历
list<Users> ulist =new list<Users>;
foreach(Users u in ulist)
{
Console.WriteLine(u.Ids+" | "+u.UserName+" | "+u.Password+" | "+u.NickName+" | "+u.Sex+" | "+u.Birthday+" | "+u.NationCode);
//sex跟nationcode需属性拓展
}