关于面对对象过程中的三大架构以及数据访问层(实体类、数据操作类)

关于面对对象过程中的三大架构以及数据访问层(实体类、数据操作类)


面向对象开发项目三层架构:


界面层、业务逻辑层、数据访问层


数据访问层,分为实体类和数据访问类


在项目的下面添加一个App_Code文件夹把所有的类放在App_Code这个文件夹下边。


一、实体类


数据库中的表映射为一个类,类名与表名一致。表中的每一列,都为该类下的成员变量和属性也就是最简单的封装


把数据库中的表名变为类的类名。


把数据库中的每一个列,变为实体类中的成员变量和属性(也就是对每个数据库中的字段封装)


列名与属性名一致。成员变量名:在列名前边加上下划线。因为在外部访问只能访问到属性,为了看起来一致。


 


复制代码
复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication1.App_Code
{
    public class Users
    {
        private int _Ids;


        public int Ids
        {
            get { return _Ids; }
            set { _Ids = value; }
        }
        private string _UserName;


        public string UserName
        {
            get { return _UserName; }
            set { _UserName = value; }
        }
        private string _PassWord;


        public string PassWord
        {
            get { return _PassWord; }
            set { _PassWord = value; }
        }
        private string _NickName;


        public string NickName
        {
            get { return _NickName; }
            set { _NickName = value; }
        }
        private bool _Sex;


        public bool Sex
        {
            get { return _Sex; }
            set { _Sex = value; }
        }
        private DateTime _Birthday;


        public DateTime Birthday
        {
            get { return _Birthday; }
            set { _Birthday = value; }
        }
        private string _Nation;


        public string Nation
        {
            get { return _Nation; }
            set { _Nation = value; }
        }
    }
}
复制代码
复制代码
 


二、数据访问类


将某个表的数据库操作写成一个方法,放到该类中,共外部调用。


复制代码
复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;


namespace ConsoleApplication2.App_Code
{
    public class UsersData
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;


        public UsersData()
        {
            conn = new SqlConnection("server=.;database=Data0216;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }


        public List<Users> SelectAll()
        {
            List<Users> list = new List<Users>();


            cmd.CommandText = "select *from Users";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            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.Nation = dr["Nation"].ToString();


                list.Add(u);
            }
            conn.Close();
            return list;
        }




        public void Insert(Users u)
        {
            cmd.CommandText = "insert into Users values(@username,@password,@nickname,@sex,@birthday,@nation)";
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@username", u.UserName);
            cmd.Parameters.AddWithValue("@password", u.PassWord);
            cmd.Parameters.AddWithValue("@nickname", u.NickName);
            cmd.Parameters.AddWithValue("@sex", u.Sex);
            cmd.Parameters.AddWithValue("@birthday", u.Birthday);
            cmd.Parameters.AddWithValue("@nation", u.Nation);


            conn.Open();
            int a= cmd.ExecuteNonQuery();
            if (a > 0) Console.WriteLine("添加数据成功");
            else Console.WriteLine("添加数据失败");
            conn.Close();
        }






    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值