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



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using 实体类_数据访问类_泛型集合.moxing;//引用命名空间
using 实体类_数据访问类_泛型集合.shujucaozuo;

namespace 实体类_数据访问类_泛型集合
{
    class Program
    {
        static void Main(string[] args)
        {
            List<car> data = new cardata().selectall();//创建一个list的泛型集合 car表的。名称叫data,
            //接受泛型集合,并打印所有

            foreach (car c in data)
            {
                Console.WriteLine(c.Ids+" "+c.Name+" "+c.brandname+" "+c.strtime);//输出向输出的;
            }

            Console.Write("请输入汽车名称");
            string uname = Console.ReadLine();
            data = new cardata().select(uname);

            Console.Clear();//清空
            foreach (car c in data)
            {
                Console.WriteLine(c.Ids + " " + c.Name + " " + c.Powers+" "+c.strtime);
            }

            Console.ReadLine();
        }
    }
}


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

namespace 实体类_数据访问类_泛型集合.moxing
{
    public class car//先设置访问类 公共类
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
        public car()
        {
            conn = new SqlConnection("server=.;database=zuoye;user=sa;pwd=123;");
            cmd = conn.CreateCommand();
        }

        //封装
        private int _ids;
        /// <summary>
        /// ID
        /// </summary>
        public int Ids
        {
            get { return _ids; }
            set { _ids = value; }
        }

        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; }
        }
        public string brandname
        {
            get
            {
            string bn = "";
            cmd.CommandText = "select *from brand where brand_code= @b";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@b",_brand);
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                dr.Read();
                bn = dr["brand_name"].ToString();
            }
            conn.Close();
            return bn;
            }
        }

        private DateTime _time;
        /// <summary>
        /// 上市时间
        /// </summary>
        public DateTime Time
        {
            get { return _time; }
            set { _time = value; }
        }
        public string strtime
        {
            get { return _time.ToString("yyyy年mm月dd日"); }
        }

        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 实体类_数据访问类_泛型集合.moxing;
using System.Data.SqlClient;

namespace 实体类_数据访问类_泛型集合.shujucaozuo
{
    public class cardata
    {
        //创建了 conn,cmd 两个对象,没有实例化,没有进行赋值,等于null,就是说没有在内存里开辟空间,不能用。
        SqlConnection conn = null;
        SqlCommand cmd = null;
        //没有返还值,和这个类名是一样的
        public cardata()
        {
            //创建类的对象才把conn,cmd,两个给实例化出,写在外边,其他的可以直接调用。
            conn = new SqlConnection("server=.;database=zuoye;user=sa;pwd=123;");
            cmd = conn.CreateCommand();
        }
        /// <summary>
        /// 查询所有的信息
        /// </summary>
        /// <returns></returns>
        public List<car> selectall()//泛型集合 尖括号里面放的是car这个类 那么 这个尖括号里面只能放这个类,不可以放其他的类
        {
          List<car> list =new List<car>();//创建list的集合。创建放值骑车边的全部信息的泛型集合

            cmd.CommandText = "select * from car ";//查询所有信息,编写tsql语句
            conn.Open();
            //读取执行操作
            SqlDataReader dr = cmd.ExecuteReader();//reader 执行操作  cmd的执行操作与sql里边的操作同步起来,dr定义的变量
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    car c = new car();//创建汽车模型对象,并将对象的内容填全
                    c.Ids = Convert.ToInt32(dr["ids"]);
                    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.Add(c);//将填好的汽车模型对象放置进泛型集合中
                }
            }

            conn.Close();
          return list;//返回list 这个值
        }

        /// <summary>
        /// 模糊查询骑车表数据
        /// </summary>
        /// <param name="name">需要变量汽车名称</param>
        /// <returns></returns>
        public List<car> select(string name)
        {
            List<car> list = new List<car>();

            cmd.CommandText = "select * from car where name like @name";
            cmd.Parameters.Clear();//parameters,防攻击!!!    清空所有数据
            cmd.Parameters.Add("@name","%"+name+"%");//添加通配符
            conn.Open();
            //读取执行操作
            SqlDataReader dr = cmd.ExecuteReader();//reader 执行操作  cmd的执行操作与sql里边的操作同步起来,dr定义的变量
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    car c = new car();//创建汽车模型对象,并将对象的内容填全
                    c.Ids = Convert.ToInt32(dr["ids"]);
                    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.Add(c);//将填好的汽车模型对象放置进泛型集合中
                }
            }

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

数据模型和数据访问类:
数据模型:
使用面向对象中的封装特性,将数据表中的行数据组成一个同样结构的对象,来单独使用;

数据访问类:
将某一个表的全部增删改查操作的方法写进去,方便统一管理和调用;

数据模型和数据访问类单独创建两个文件件单独放置,方便查看;
注意:单独创建的问题件命名空间会自动更改,调用时需要引用命名空间,并且在创建类时第一步
要把类的访问权限设置为公开的

泛型集合:
List<T> T代表泛型,你给它什么类型,它就代表什么类型
定义:
List<string> li = new List<string>();
实例化什么类型的泛型集合,那么这个集合中就只能放这一种类型的变量或对象
添加数据:
li.Add(数据/变量/对象);
查询:
foreach遍历

时间: 2024-10-09 15:11:35

ado数据模型和数据访问类,泛型集合的相关文章

ADO.Net创建数据模型和数据访问类及泛型集合

数据模型和数据访问类:数据模型: 使用面向对象中的封装特性,将数据表中的行数据组成一个同样结构的对象,来单独使用: 数据访问类: 将某一个表的全部增删改查操作的方法写进去,方便统一管理和调用: 数据模型和数据访问类单独创建两个文件件单独放置,方便查看:注意:单独创建的问题件命名空间会自动更改,调用时需要引用命名空间,并且在创建类时第一步要把类的访问权限设置为公开的 创建一个数据库模型和一个数据库访问类,对学生信息表进行简单的操作 数据库信息表: create database netlx go

数据模型和数据访问类以及属性扩展和泛型集合

数据模型: 数据模型就是将一个表中一行的所有属性利用封装写到一个类里面,将数据表中的行数据组成一个同样结构的对象,方便使用. 1 public class Car 2 { 3 SqlConnection conn = null; 4 SqlCommand com = null; 5 public Car() 6 { 7 conn = new SqlConnection("server=.;database=ADOlianxi0425;user=sa;pwd=123;"); 8 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> /// 汽车编号 /// &

ADO.NET 实体类和数据访问类

SQL数据库字符串注入攻击:需要使用cmd.Parameters这个集合占位符: @key 代表这个位置用这个占位符占住了 Parameters这个集合中将此占位符所代表的数据补全 cmd.Parameters.Clear(); --添加占位符数据之前,要清空此集合cmd.Parameters.Add("@pwd", Pwd); --占位符内容填充cmd.Parameters.Add("@nname",Nname);cmd.Parameters.Add("

实体类和数据访问类三层开发

实体类,数据访问类 实体类:封装 封装一个类,类名与数据库表名一致,成员变量名与列明一致,多一个下划线 . 成员便令封装玩的属性会与数据表中的列名一致. 每一行数据都可以存成一个对象,操作这个对象,就相当于对某一行数据进行整体操作 数据访问类: 就是将对数据库的一些操作,单独写到一个类中,封成一些方法,等待调用 三层开发: 界面层 - UI层 业务逻辑层 - C#代码部分 数据访问层 - 实体类和数据访问类 就是项目可以从三部分同时进行,一遍布局,一边写方法和封装,一遍写代码,然后再通过调用将几

关于List&lt;&gt;(实体类)泛型集合转DataTable_ONE

// 泛型集合转DataTable,T为Linq实体类 public delegate void GetDataTableRow<T>(T t,System.Data.DataTable d);        public static void ExcelOut2<T>(DataGrid gt, GetDataTableRow<T> GetDataTableRow)        {                            ItemCollection

Sort方法根据T类某个字段对泛型集合List&lt;T&gt;排序

实现:采用Sort方法根据T类某个字段对泛型集合List<T>排序. 实现代码如下: static void Main(string[] args) { List<Stud> studs = new List<Stud>() { new Stud() { Name = "B", Score = 80 }, new Stud() { Name = "C", Score = 30 }, new Stud() { Name = &quo

[工具类]DataTable与泛型集合List互转

写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中主要使用了反射的方式动态的为属性赋值以及取值. public static class Extension { /// <summary> /// 将datatable转换为泛型集合 /// </summary> /// <typeparam name="TEntity

.Net学习笔记----2015-06-25(File类的读写文件、List泛型集合、装箱和拆箱、Dictionary字典集合)

File类:静态类,Create Delete Copy Move ,主要用来对数据对文本文件进行读写 File类:缺点:只能读写小文件 读写操作: //byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\new.txt"); ////将字节数组中的每一个元素都要按照我们指定的编码各式解码成字符串 ////UTF-8 GB2312 GBK ASCII Unicode //string s = Encodi