几种属性扩展的方式

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方法和属性

  虚方法不一定要重写,但是抽象类一定要重写

ADO.NET 【属性扩展】性别、年龄、编号的更多相关文章

  1. ADO.Net属性扩展

    属性扩展 大体意思:有外键关系时将代号化信息处理成原始文字 如:Info表中的民族列显示的是民族代号处理成Nation表中的民族名称 需要在Info类里面扩展一个显示nation名称的属性 using ...

  2. 【2017-04-21】Ado.Nte属性扩展

    通过对数据库表的封装,对该表的属性进行扩展. 1.例如:表中的性别是bool类,要实现显示给用户看的为“男.女” 2.通过表中的生日datetime类,来实现显示给用户看的年月日,自动计算年龄. 3. ...

  3. ado.net 属性扩展 综合练习

    实现数据查询,添加,删除,修改各项功能 业务逻辑层: using System; using System.Collections.Generic; using System.Linq; using ...

  4. ADO SQL属性扩展————多表组合成新的更完整的表

    create database guoji--建立数据库 go use guoji go create table xinxi--建立表一 ( name ), minzu ) ) '); '); ') ...

  5. ADO.NET(查询、属性扩展)

    一.ADO.NET 融合面向对象的查询语句 1.只查询一条数据 //数据访问中的select方法 public stu select(string xuehao) { stu s = null; cm ...

  6. ADO.NET 数据访问类查询、属性扩展

    今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...

  7. C#-ado.net-属性扩展

    属性扩展 是封装好的类中添加更多属性,此方法可以添加更多的数据运算方法,更灵活便捷 上一篇中介绍的是实体类和数据访问类,实体类封装的内容如下: 执行查询语句后,结果如下: 我们可以看到,性别显示的是t ...

  8. C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展

    LinQ-语言集成查询(Language Integrated Query) 高集成化的数据库访问技术 LINQ 2 SQL 实际是将数据库的表映射成程序中的类 会把数据库的表名原封不动的变成类名 数 ...

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

    实体类通常需要和数据库表进行了ORM映射,当你需要添加新的属性时,往往同时也需要在数据库中添加相应的字段并配置好映射关系,同时可能还需对数据访问组件进行重新编译和部署才能有效.而当你开始设计一个通用数 ...

随机推荐

  1. 在线团队协作工具+在线UML工具

    话不多说直接上https://worktile.com去看,顺便附上小众软件上面的介绍 默默增加worktile的外国原版https://trello.com/,worktile照着trello做的, ...

  2. EFCore2.1中DbFirst和CodeFirst简单使用

    EFCore中没有DbFirst了吧,应该都是Code First 先说说第一种,Code First From Database(DbFirst)数据库先行,这种方式就要命令行了...(特不喜欢命令 ...

  3. POI读写海量Excel

    目前处理Excel的开源javaAPI主要有两种,一是Jxl(JavaExcel API),Jxl只支持Excel2003以下的版本.另外一种是Apache的Jakarta POI,相比于Jxl,PO ...

  4. css经典布局—Sticky footers布局

    参考:http://www.w3cplus.com/CSS3/css-secrets/sticky-footers.html 效果:将footer固定到底部.文章内容不足满屏时 footer在底部,超 ...

  5. jvm垃圾回收的过程

    垃圾回收的过程分为两步: 1.判断对象是否死亡 (1)引用计数器法: ①每当有一个对象引用是,计数器加一,当计数器为0是对象死亡 ②缺点:无法解决循环引用的问题,假设A引用B,B引用A,那么这两个对象 ...

  6. postgresql-hdd,ssd,效率

    既有ssd又有hdd是将数据存储到ssd还是将索引存储到ssd的效率更高呢? 一种说法是索引是随机扫描,将索引放入ssd效率会增高, 一种说法是将数据放入ssd效率更高   最好的情况是将数据和索引都 ...

  7. 【LeetCode】128. 最长连续序列

    题目 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为O(n). 示例: 输入:[100, 4, 200, 1, 3, 2] 输出:4 解释:最长连续序列是[1, 2, 3, ...

  8. supervisor 管理uwsgi 进程

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动 重启.它是通过fork/exec的方式把这些被管理的进 ...

  9. 【转载】SQL Server 版本列表

    Quick summary:     RTM (no SP) SP1 SP2 SP3 SP4  SQL Server 2017     codename vNext not yet released  ...

  10. MethodImplOptions.Synchronized的一点讨论

    Review代码发现有一个方法加了[MethodImpl(MethodImplOptions.Synchronized)] 属性,这个属性的目的,从名字上就可以看出,是要对所有线程进行同步执行. 对方 ...