实体类、数据访问类中的属性拓展

类中:

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace 实体类_数据访问类.App_Code
{
    public class Users
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;

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

        private int _Ids;

        /// <summary>
        /// ids
        /// </summary>
        public int Ids
        {
            get { return _Ids; }
            set { _Ids = value; }
        }
        private string _UserName;

        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName
        {
            get { return _UserName; }
            set { _UserName = value; }
        }
        private string _PassWord;

        /// <summary>
        /// 密码
        /// </summary>
        public string PassWord
        {
            get { return _PassWord; }
            set { _PassWord = value; }
        }
        private string _NickName;

        /// <summary>
        /// 昵称
        /// </summary>
        public string NickName
        {
            get { return _NickName; }
            set { _NickName = value; }
        }

        public string NickAndUser
        {
            get
            {
                return _NickName + "(" + _UserName + ")";
            }
        }

        private bool _Sex;

        /// <summary>
        /// 性别
        /// </summary>
        public bool Sex
        {
            get { return _Sex; }
            set { _Sex = value; }
        }
        //判断是男是女
        public string SexStr
        {
            get
            {
                return _Sex ? "男" : "女";
            }
        }

        private DateTime _Birthday;

        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday
        {
            get { return _Birthday; }
            set { _Birthday = value; }
        }
        //将datetime类型转换为string类型
        public string BirthdayStr
        {
            get
            {
                return _Birthday.ToString("yyyy年MM月dd日");
            }
        }

        private string _Nation;

        /// <summary>
        /// 民族
        /// </summary>
        public string Nation
        {
            get { return _Nation; }
            set { _Nation = value; }
        }
        //将民族用字符串显示出来
        public string NationName
        {
            get
            {
                string end = "<未填>";
                cmd.CommandText = "select *from Nation where NationCode = @a";
                cmd.Parameters.Clear();
                cmd.Parameters.Add("@a",_Nation);
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    dr.Read();
                    end=dr["NationName"].ToString();
                }
                conn.Close();

                return end;
            }
        }
        private string _Class;

        /// <summary>
        /// 班级
        /// </summary>
        public string Class
        {
            get { return _Class; }
            set { _Class = value; }
        }
        //将班级用字符串展示出来
        public string ClassName
        {
            get
            {
                string end = "<无班级>";

                cmd.CommandText = "select *from Class where ClassCode = @a";
                cmd.Parameters.Clear();
                cmd.Parameters.Add("@a",_Class);
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    dr.Read();
                    end = dr["ClassName"].ToString();
                }
                conn.Close();
                return end;
            }
        }
    }
}

主程序中:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using 实体类_数据访问类.App_Code;

namespace 属性扩展
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Users> ulist = new UsersData().Select();

            Console.WriteLine("序号   密码   昵称   性别   生日   民族   班级");
            foreach (var u in ulist)
            {
                Console.WriteLine(u.Ids + "   " + u.PassWord + "   " + u.NickAndUser + "   " + u.SexStr + "   " + u.BirthdayStr + "   " + u.NationName + "   " + u.ClassName);
            }
            Console.ReadKey();
        }
    }
}

时间: 2024-10-27 11:19:12

实体类、数据访问类中的属性拓展的相关文章

2017-4-20实体类,数据访问类.字符串攻击.防攻击

程序分三层:界面层.业务逻辑层.数据访问层 这里主要操作的是数据访问层,数据访问层又分为: 1.实体类 2.数据访问类 存放位置:APP_Code文件中 一.实体类 最简单的封装把数据库的表名变成类的类名把数据库的每一个列,变为实体类中的成员变量和属性列名与属性名一致 有几行就有几个实体类 这是一个简单的实体类:  实体类 二.数据访问类 将某个表的数据库操作写成一个一个方法,放入到此类中供外部调用 这是一个数据访问类:  数据访问类 三.字符串攻击,防攻击 字符串攻击: 主要利用获取需用户输入

2017-4-21 字符串攻击 防御 实体类 数据访问类 属性扩展 三层架构开发

(一)防止sql数据库字符串注入攻击: 1.字符串注入攻击实在填写内容是,插入的sql语句,对数据库进行的操作 数据库的攻击就是插入新的sql语句,并对后面的语句进行注销:');update Students set Sname='';-- 2.防止字符串注入攻击: cmd.CommandText = "update Student set Sname = @a",   ----  用占位符进行占位,这样在攻击的时候就会吧攻击的内容当成sql语句内容直接插入到数据库 cmd.Param

实体类,数据访问类.字符串攻击.防攻击

程序分三层:界面层.业务逻辑层.数据访问层 这里主要操作的是数据访问层,数据访问层又分为: 1.实体类 2.数据访问类 存放位置:APP_Code文件中 一.实体类 最简单的封装把数据库的表名变成类的类名把数据库的每一个列,变为实体类中的成员变量和属性列名与属性名一致 有几行就有几个实体类 这是一个简单的实体类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namesp

实体类 数据访问类 函数

实体类:封装封装一个类,类名与数据库表名一致成员变量名与列名一致,多一个下划线成员变量封装完的属性,就会与数据表中的列名一致 每一行数据都可以存成一个对象,操作这个对象,就相当于对某一行数据进行整体操作 数据访问类:就是将对数据库的一些操作,单独写到一个类中,封成一些方法,等待调用 结构看起来会非常清晰 函数:1.有参有反public 数据类型 函数名(数据类型 参数名){ return 数据类型;} 2.有参无反public void 函数名(数据类型 参数名){ } 3.无参无反public

实体类,数据访问类应用

一,表中某个数据进行重新排序 (1)数据访问类 using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; namespace ConsoleApplication2.App_Code { public class StudentsData { SqlConnection conn = null; SqlCommand cmd

ADO.NET 【实体类】【数据访问类】

认识分层结构,分层式结构是最常见,也是最重要的一种结构. 三层架构(3-tier architecture) 界面层(User Interface layer) 主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问. 业务逻辑层(Business Logic Layer)主要是针对具体的问题的操作,也可以理解成对数据层的操作 数据访问层(Data access layer)主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层 数据访问层包括   实体类 数据访问类 优点

实体类、数据访问类、属性扩展

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 实体类_数据访问类.App_Code { public class Users { private string _username; //封装 /// <summary> /// 用户名 /// </summary> public

【2017-04-20】Ado.Net与面向对象结合架构中的数据访问层(实体类,数据访问类)

开发项目三层架构:界面层.业务逻辑层.数据访问层 今天学习一下数据访问层,分为实体类和数据访问类 所有的类放在App_Code这个文件夹下边.养成一个好的习惯. 一.实体类 数据库中的表映射为一个类,类名与表名一致.表中的每一列,都为该类下的成员变量和属性也就是最简单的封装 把数据库中的表名变为类的类名. 把数据库中的每一个列,变为实体类中的成员变量和属性 列名与属性名一致.成员变量名:在列名前边加上下划线.因为在外部访问只能访问到属性,为了看起来一致. using System; using

ADO面向对象使用(实体类、数据访问类、范型集合)

ADO面向对象使用: !!!!!在其它文件夹下创建新类,加public!再考虑是不是引用数据库命名空间和其它类的命名空间!是否需要将构造函数写出来,将数据库的两个类实例化!!!!! 实体类:就是封装,将数据库中的表封装成同名的类,里面的成员变量与表里面的列是对应的,一个对象就代表数据库中一行数据: 字段扩展:查询关联的外键表数据,只读! 数据访问类:就是对于实体类对应的数据库进行操作的,就是写方法! 泛型集合: List<T> list = new List<T>(); T代表的就