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

数据模型:

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

 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<T> a = new List<T>();

T表示泛型,可以放任何数据类型,实例化什么类型的泛型集合那么这个集合中就只能放这一类型的变量或者对象。

添加数据: .add();

foreach遍历集合