实体类、数据访问类

创建两个类:

users类:

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

namespace 实体类_数据访问类.App_Code
{
    public class Users
    {
        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; }
        }
        private bool _Sex;

        /// <summary>
        /// 性别
        /// </summary>
        public bool Sex
        {
            get { return _Sex; }
            set { _Sex = value; }
        }
        private DateTime _Birthday;

        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday
        {
            get { return _Birthday; }
            set { _Birthday = value; }
        }
        private string _Nation;

        /// <summary>
        /// 民族
        /// </summary>
        public string Nation
        {
            get { return _Nation; }
            set { _Nation = value; }
        }
        private string _Class;

        /// <summary>
        /// 班级
        /// </summary>
        public string Class
        {
            get { return _Class; }
            set { _Class = value; }
        }
    }
}

usersdata:

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

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

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

        /// <summary>
        /// 将数据添加到Users表中,返回true说明添加成功
        /// </summary>
        /// <param name="u">要添加到数据表中的Users对象</param>
        /// <returns></returns>
        public bool Insert(Users u)
        {
            bool ok = false;
            int count = 0;

            cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f,@g)";
            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.Nation);
            cmd.Parameters.AddWithValue("@g", u.Class);

            try
            {
                conn.Open();
                count = cmd.ExecuteNonQuery();
            }
            catch { ok = false; }
            finally
            {
                conn.Close();
            }

            if (count > 0)
                ok = true;

            return ok;
        }
        //查询数据库表中所有数据
        public List<Users> Select()
        {
            List<Users> list = new List<Users>();

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

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

            return list;
        }
        //查询指定用户名的数据
        public bool Select(string username)
        {
            bool ok = false;
            cmd.CommandText = "select *from Users where UserName = @a";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@a",username);
            Users u = new Users();
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {

                    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();
                    u.Class = dr["Class"].ToString();
                    ok = true;
                }
            }
            conn.Close();
            return ok;
        }
        //删除数据
        public void Delete(string uname)
        {
            cmd.CommandText = "delete from Users where UserName = @a";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@a",uname);

            conn.Open();
            cmd.ExecuteNonQuery();

            conn.Close();
        }

    }
}

main函数中调用方法:

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 list<users>;
            //userdata da=new userdata();
            //ulist=da.select();
            List<Users> ulist = new UsersData().Select();
            foreach (Users uuu in ulist)
            {
                Console.WriteLine(uuu.Ids + "   " + uuu.UserName + "   " + uuu.PassWord + "   " + uuu.NickName + "   " + uuu.Sex + "   " + uuu.Birthday + "   " + uuu.Nation + "   " + uuu.Class);
            }

            Console.Write("请输入要删除的用户名:");
            string uname = Console.ReadLine();

            if (new UsersData().Select(uname))
            {
                Console.WriteLine("已查到此用户信息,是否要删除?(Y/N)");
                string yn = Console.ReadLine();
                if (yn.ToUpper() == "Y")
                {
                    new UsersData().Delete(uname);
                    Console.WriteLine("删除成功!");
                }
            }

            Users user = new Users();

            Console.Write("请输入用户名:");
            user.UserName = Console.ReadLine();
            Console.Write("请输入密码:");
            user.PassWord = Console.ReadLine();
            Console.Write("请输入昵称:");
            user.NickName = Console.ReadLine();
            Console.Write("请输入性别:");
            user.Sex = Convert.ToBoolean(Console.ReadLine());
            Console.Write("请输入生日:");
            user.Birthday = Convert.ToDateTime(Console.ReadLine());
            Console.Write("请输入民族:");
            user.Nation = Console.ReadLine();
            Console.Write("请输入班级:");
            user.Class = Console.ReadLine();

            UsersData ud = new UsersData();
            bool isok = ud.Insert(user);

            if (isok)
                Console.WriteLine("添加成功!");
            else
                Console.WriteLine("添加失败!");

            Console.ReadKey();
        }
    }
}
时间: 2024-10-24 19:16:22

实体类、数据访问类的相关文章

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

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

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

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

实体类,数据访问类应用

一,表中某个数据进行重新排序 (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

实体类 数据访问类 函数

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

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

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

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

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

重要!!!实体类、数据访问类

创建两个类: users类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { private int _Ids; /// <summary> /// ids /// </summary> public int Ids { get { return _Ids;

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

类中: 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 S

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

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

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

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