在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
软件开发的三层:界面层,业务逻辑层,数据访问层;
数据访问层:项目添加App_Code文件夹; 实体类:根据数据库表结构,类名和数据库表名一致; 每个成员变量要与数据库表的列相对应,对象正好可以列为一行数据,封装起来; 一个实体类做一个类; 访问权限是public的 数据访问类:起名UsersData; 访问权限是public的 实体类和数据访问类统称为数据访问层,每个表对应一个数据访问层; 新建一个连接字符串的静态的类: 访问权限是public的,必须有一个静态的成员变量,然后封装; 连接字符串:成员变量 = "server =.; Database =Data0908; user =sa; pwd =123;";
在数据访问操作的方法:在数据访问类的构造函数内,可以直接用连接字符串的类名点出来; 在构造函数内可以直接连接数据库: SqlConnection conn = new SqlConnection(); SqlCommend comm = conn.CreateCommand(); *****写法: 由于构造函数的约束性,可以提升数据库连接类和数据库操作类的作用域:
private SqlConnection conn;
private SqlCommend comm; public UsersData {
conn = new SqlConnection(连接字符串的类名.连接字符串的成员变量);
comm = conn.CreateCommand;
}
//返回表中的所有数据 public List <Users> selectAll() { List <Users> us = new List<Users>(); //新建一个泛型集合 comm.CommandText = "select * from Users"; conn.Open(); SqlDataReader dr = comm.ExeuteReader();
return us; }
while(dr.Read()) //如果dr.Read是true进循环; { 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.NationCold = dr[NationCold].ToString(); us.Add(u); } conn.Close();
return us; } foreach(Users u in ulist) { Console.WriteLine(u.Ids+" | "+u.password); }
添加: public bool UsersTianJia(users u) { bool result = false; //默认结果false;
cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f)";
conn.Open(); int a = comm.ExcuteNonQuery(); conn.Close(); if(a>0) result = true; return result; } Users user = new Users(); Console.WriteLine("请输入用户名"); user.UserName = Console.ReadLine();
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论