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需属性拓展

}

posted on 2017-11-16 21:18  我勒个去YCQ  阅读(135)  评论(0编辑  收藏  举报