• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#ADO.NET与面向对象

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

软件开发的三层:界面层,业务逻辑层,数据访问层;

 

数据访问层:项目添加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)";
  cmd.Parameters.Clear();
  cmd.Parameters.AddWithValue("@a", u.UserName);
  cmd.Parameters.AddWithValue("@b", u.PassWord);
  cmd.Parameters.AddWithValue("@c", u.NickName);
  cmd.Parameters.AddWithValue("@d", u.Sex);
  cmd.Parameters.AddWithValue("@e", u.Birthday);
  cmd.Parameters.AddWithValue("@f", u.NationCode);

 

  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();

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C标准库-stddef.h发布时间:2022-07-14
下一篇:
《IntroductiontoComputingSystems:FromBitsandGatestoCandBeyond》读后感(一) ...发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap