ado创建数据模型和数据访问类

Posted 枫炎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ado创建数据模型和数据访问类相关的知识,希望对你有一定的参考价值。

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

namespace ConsoleApplication14.model
{
    class car
    {
        //建立数据模型
        //car数据表的各项属性建立成一个类的形式
        private string _Code;
        /// <summary>
        /// 汽车编号
        /// </summary>
        public string Code
        {
            get { return _Code; }
            set { _Code = value; }
        }
        private string _Name;
        /// <summary>
        /// 汽车名称
        /// </summary>
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        private string _Brand;
        /// <summary>
        /// 汽车系别
        /// </summary>
        public string Brand
        {
            get { return _Brand; }
            set { _Brand = value; }
        }
        private DateTime _Time;
        /// <summary>
        /// 上市时间
        /// </summary>
        public DateTime Time
        {
            get { return _Time; }
            set { _Time = value; }
        }
        private decimal _Oil;
        /// <summary>
        /// 汽车油耗
        /// </summary>
        public decimal Oil
        {
            get { return _Oil; }
            set { _Oil = value; }
        }
        private int _Powers;
        /// <summary>
        /// 汽车马力
        /// </summary>
        public int Powers
        {
            get { return _Powers; }
            set { _Powers = value; }
        }
        private int _Exhaust;
        /// <summary>
        /// 汽车排量
        /// </summary>
        public int Exhaust
        {
            get { return _Exhaust; }
            set { _Exhaust = value; }
        }
        private decimal _Price;
        /// <summary>
        /// 汽车价格
        /// </summary>
        public decimal Price
        {
            get { return _Price; }
            set { _Price = value; }
        }
        private string _Pic;
        /// <summary>
        /// 汽车对应图片
        /// </summary>
        public string Pic
        {
            get { return _Pic; }
            set { _Pic = value; }
        }





    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ConsoleApplication14.model;
using System.Data.SqlClient;

namespace ConsoleApplication14.dataoperation
{
    class cardata
    {
        SqlConnection conn = null;//声明数据连接变量,用于cardata类里所有函数
        SqlCommand cmd = null;//声明数据命令变量,用于cardata类里所有函数
        //创建构造函数,调用该类便立即进行数据连接和数据操作命令的创建
        public cardata()
        {
            conn = new SqlConnection("server=.;database=data0425;user=sa;pwd=123;");//创建数据连接
            cmd = conn.CreateCommand();//创建数据操作
        }
        
        //建立一个查询car表格的函数方法
        /// <summary>
        /// 查询car表里的所有数据
        /// </summary>
        /// <returns>泛型集合类型</returns>
        public List<car> selectall()
        {
            //实例化泛型集合,以便于调用里面的属性
            List<car> list = new List<car>();

            //编写数据操作指令
            cmd.CommandText = "select * from car";
            //开启数据库
            conn.Open();
            //执行读取操作命令
            SqlDataReader dr = cmd.ExecuteReader();
            if(dr.HasRows)
            {
                while(dr.Read())
                {
                    //初始化car类,为car类开辟一个内存空间,以便于调用car类里的属性
                    car c = new car();
                    //为car每个属性里赋值
                    c.Code = dr["Code"].ToString();
                    c.Name = dr["Name"].ToString();
                    c.Brand = dr["Brand"].ToString();
                    c.Time = Convert.ToDateTime(dr["Time"]);
                    c.Oil = Convert.ToDecimal(dr["Oil"]);
                    c.Powers = Convert.ToInt32(dr["Powers"]);
                    c.Exhaust = Convert.ToInt32(dr["Exhaust"]);
                    c.Price = Convert.ToDecimal(dr["Price"]);
                    c.Pic = dr["Pic"].ToString();

                    //将car类c里的数值放到泛型集合list内
                    list.Add(c);
                }
            }
            //关闭数据库
            conn.Close();
            //返回泛型集合类型的值
            return list;
        }

        //建立用汽车姓名模糊查询的函数
        public List<car> selectname(string name)//该函数有返回值,有参数,返回值是泛型集合类型,参数是string类型
        {
            //定义一个泛型集合类型的返回值
            List<car> list=new List<car>();
            //编写查询指令语句
            cmd.CommandText = "select * from car where Name like @name";
            //防注入式字符串攻击
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@name","%"+name+"%");

            //数据库开启
            conn.Open();
            //执行数据读取操作
            SqlDataReader dr = cmd.ExecuteReader();
            if(dr.HasRows)
            {
                while(dr.Read())
                {
                    //初始化一个car类型的变量来接收数据库car表里的每条数据
                    car c = new car();
                    //用c里面的每一个属性接收car表里的每一条记录
                    c.Code = dr["Code"].ToString();
                    c.Name = dr["Name"].ToString();
                    c.Brand = dr["Brand"].ToString();
                    c.Time = Convert.ToDateTime(dr["Time"]);
                    c.Oil = Convert.ToDecimal(dr["Oil"]);
                    c.Powers = Convert.ToInt32(dr["Powers"]);
                    c.Exhaust = Convert.ToInt32(dr["Exhaust"]);
                    c.Price = Convert.ToDecimal(dr["Price"]);
                    c.Pic = dr["Pic"].ToString();

                    //并将每一条值放入list集合中
                    list.Add(c);

                    
                }
            }

            //数据库关闭
            conn.Close();
            
            //返回list值
            return list;

        }





    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ConsoleApplication14.dataoperation;
using ConsoleApplication14.model;

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立数据模型和数据访问类

            //查询数据库里data0425数据库类car表的所有内容
            //引用命名空间
            //定义查询函数的返回类型为泛型集合list类,
            //所有要首先初始化一个变量接收cardata类里面查询函数selectall里面的值
            List<car> data = new cardata().selectall();
            //打印出data 里面的值需要使用遍历集合
            foreach(car c in data)//泛型集合里面的类型是car类型
            {
                Console.WriteLine(c.Code+"  "+c.Name+"  "+c.Brand+"  "+c.Time+"  "+c.Oil+"  "+c.Powers+"  "+c.Exhaust+"  "+c.Price+"  "+c.Pic);
            }
            
            while(true)
            {
            //建立一个汽车名字的模糊查询
            Console.Write("请输入汽车姓名:");
            string uname = Console.ReadLine();
            //调用函数,用已经初始化并赋值的data变量接收,同时用新的值覆盖data变量里原来的值
            data = new cardata().selectname(uname);
            //打印数据
            Console.Clear();
            foreach (car c in data)//泛型集合里面的类型是car类型
            {
                Console.WriteLine(c.Code + "  " + c.Name + "  " + c.Brand + "  " + c.Time + "  " + c.Oil + "  " + c.Powers + "  " + c.Exhaust + "  " + c.Price + "  " + c.Pic);
            }

            }
            Console.ReadKey();
        }
    }
}

以上是关于ado创建数据模型和数据访问类的主要内容,如果未能解决你的问题,请参考以下文章

ado数据模型和数据访问类,泛型集合

关于类库中EntityFramework之CodeFirst(代码优先)的操作浅析

无法在 ADO .NET 实体模型 edmx 中的类继承中执行覆盖

011.EF实体框架(入门)

ADO。NET 紧急!!!!高手请进。

Visual Studio2017中如何让Entity Framework工具ADO.NET实体数据模型支持MYSQL数据源