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

数据模型:

数据模型就是将一个表中一行的所有属性利用封装写到一个类里面,将数据表中的行数据组成一个同样结构的对象,方便使用。

 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 = conn.CreateCommand();
 9         }
10         private int _ids;
11
12         public int Ids
13         {
14             get { return _ids; }
15             set { _ids = value; }
16         }
17         private string _code;
18
19         public string Code
20         {
21             get { return _code; }
22             set { _code = value; }
23         }
24         private string _name;
25
26         public string Name
27         {
28             get { return _name; }
29             set { _name = value; }
30         }
31         private string _brand;
32
33         public string Brand
34         {
35             get { return _brand; }
36             set { _brand = value; }
37         }
38         private DateTime _time;
39
40         public DateTime Time
41         {
42             get { return _time; }
43             set { _time = value; }
44         }
45         private decimal _oil;
46
47         public decimal Oil
48         {
49             get { return _oil; }
50             set { _oil = value; }
51         }
52         private int _powers;
53
54         public int Powers
55         {
56             get { return _powers; }
57             set { _powers = value; }
58         }
59         private int _exhaust;
60
61         public int Exhaust
62         {
63             get { return _exhaust; }
64             set { _exhaust = value; }
65         }
66         private decimal _price;
67
68         public decimal Price
69         {
70             get { return _price; }
71             set { _price = value; }
72         }
73         private string _pic;
74
75         public string Pic
76         {
77             get { return _pic; }
78             set { _pic = value; }
79         }
80
81    }

数据访问类:

数据访问类是在一个类中写下某一个表的增删改查操作的方法,方便统一管理和调用。

 1 public List<Car> select(string c, string d, string e)
 2         {
 3             List<Car> list = new List<Car>();//定义一个泛型集合,里面放的类型是前面写的数据结构类
 4             b.CommandText = "select * from car where name like @name and oil like @oil and powers like @powers";
 5             b.Parameters.Clear();
 6             b.Parameters.Add("@name", "%" + c + "%");
 7             b.Parameters.Add("@oil", "%" + d + "%");
 8             b.Parameters.Add("@powers", "%" + e + "%");
 9             a.Open();
10             SqlDataReader f = b.ExecuteReader();
11             if (f.HasRows)
12             {
13                 while (f.Read())
14                 {
15                     Car cc = new Car();//将表中的每行数据查询出来然后全部转换成定义好的数据结构类
16                     cc.Ids = Convert.ToInt32(f["ids"]);
17                     cc.Code = f["code"].ToString();
18                     cc.Name = f["name"].ToString();
19                     cc.Brand = f["brand"].ToString();
20                     cc.Time = Convert.ToDateTime(f["time"]);
21                     cc.Oil = Convert.ToDecimal(f["oil"]);
22                     cc.Powers = Convert.ToInt32(f["powers"]);
23                     cc.Exhaust = Convert.ToInt32(f["exhaust"]);
24                     cc.Price = Convert.ToDecimal(f["price"]);
25                     cc.Pic = f["pic"].ToString();
26
27                     list.Add(cc);//用上面定义好的泛型集合存放数据库表中的所有数据
28                 }
29             }
30             a.Close();
31             return list;
32         }

数据模型和数据访问类一般都会单独建立文件夹存放,在用的时候首先都要吧类的访问权限变成public,然后都需要引用命名空间才可以调用。

属性扩展:

简单来说就是利用表的外键和数据模型中的已有属性来获得一个查询其他表中数据的属性或者方法,本质上就是sqlserver中的子查询。

 1 /// <summary>
 2         /// 写成方法用起来一样,没有差别,memo是brand表中的数据,brand表中的brand_code是car表中brand的外键。
 3         /// </summary>
 4         public string memo
 5         {
 6             get
 7             {
 8                 string JJ = "";
 9
10                 com.CommandText = "select * from brand where brand_code = @brand";
11                 com.Parameters.Clear();
12                 com.Parameters.Add("@brand", _brand);
13                 conn.Open();
14                 SqlDataReader dr = com.ExecuteReader();
15                 if (dr.HasRows)
16                 {
17                     dr.Read();
18                     JJ = dr["brand_name"].ToString();
19                 }
20                 conn.Close();
21                 return JJ;
22             }
23         }

泛型集合:

List<X> a = new List<X>();

X的地方放数据类型,实例化什么类型的泛型集合那么这个集合中就只能放这一类型的变量或者对象。

添加数据: .add();

foreach遍历集合

时间: 2024-12-26 20:36:07

数据模型和数据访问类以及属性扩展和泛型集合的相关文章

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

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

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数据模型和数据访问类,泛型集合

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

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#代码部分 数据访问层 - 实体类和数据访问类 就是项目可以从三部分同时进行,一遍布局,一边写方法和封装,一遍写代码,然后再通过调用将几

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

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

YbSoftwareFactory 代码生成插件【十九】:实体类配合数据库表字段进行属性扩展的小技巧

实体类通常需要和数据库表进行了ORM映射,当你需要添加新的属性时,往往同时也需要在数据库中添加相应的字段并配置好映射关系,同时可能还需对数据访问组件进行重新编译和部署才能有效.而当你开始设计一个通用数据访问组件后,因为项目需求的不同和需求的不断变化演变,很难不能保证不会再添加额外的属性和字段.特别是项目部署运行后,添加一个属性和字段带来的额外维护的工作量可能要远远超过对代码进行调整的工作量.本文提供了属性字段扩展的一种思路,在满足核心字段可通过实体类强类型进行访问的同时,还可通过C# 4.0提供

ADO数据库访问类查询、属性扩展

1 数据库访问类查询 (1)查询一条 有参数:查询这条信息的主键: 有返回值:返回值是一个实体类: dr.read();执行一遍,读取这行信息并放进users类型中. ///返回users实体类类型 public users chayi(string name) { users u = null; com.CommandText = "select *from users where [email protected]"; com.Parameters.Clear(); com.Par

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

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