几种属性扩展的方式
1、性别属性扩展
private bool _Sex; //成员变量 public bool Sex // 属性
{
get { return _Sex; }
set { _Sex = value; }
}
public string SexStr //扩展的属性
{
get { return _Sex ? "男" : "女"; }
}
2、年龄与生日日期属性扩展
private DateTime _Birthday; //成员变量 public DateTime Birthday //属性
{
get { return _Birthday; }
set { _Birthday = value; }
}
public string BirthdayStr //扩展属性 用xx年xx月xx日
{
get { return _Birthday.ToString("yyyy年MM月dd日"); }
}
public int Age //扩展的属性 年龄
{
get { return DateTime.Now.Year - _Birthday.Year; }
}
3、根据编号取相应的名称
private string _Nation; //成员变量 public string Nation //属性
{
get { return _Nation; }
set { _Nation = value; }
}
public string NationName //扩展属性
{
get
{
return new UserNationData().SelectNationName(_Nation);
} //调用方法
}
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
namespace ConsoleApplication1.App_Code
{
public class UserNationData
{
SqlConnection conn;
SqlCommand cmd;
public UserNationData()
{
conn = new SqlConnection("server=.;database=Data0216;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
public string SelectNationName(string ncode)
{
string end = "<暂无>";
cmd.CommandText = "select *from UserNation where NationCode = @a";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", ncode);
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
end = dr["NationName"].ToString();
}
}
catch { }
finally { conn.Close(); }
return end;
}
}
}
补充
1.通配符的使用,在ado.net中查询某个模糊数据
例:查询出汽车表中名字到宝马的汽车,(数据库连接代码)
public List<Users> select(string name)
{
List<Users> list = new List<Users>();
cmd.CommandText = "select * from Car where name like @a";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a",'%'+name+'%'); conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Users u = new Users();
u.Name = dr["name"].ToString();
list.Add(u);
}
conn.Close(); return list;
}
2.Parameters 集合是属于数据库操作类的,作用是防止字符串注入攻击
数据库操作类 SqlCommand cmd;
数据库连接类 SqlConnection conn;
3.泛型集合定义:不固定长度,固定数据类型
4.类的构造函数在什么情况下会被调用:实例化对象时
调用方法是:构造函数已经使用完毕
5.子类可以继承父类中的所有public方法和属性
虚方法不一定要重写,但是抽象类一定要重写