几种属性扩展的方式

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. PICT用户手册 [转]

    PICT 3.3 User's Guide Jacek Czerwonka, Test Lead, Microsoft Corporation Overview Using PICT to Combi ...

  2. 利用C#迭代器的一个杨辉三角示例

    身边有个朋友在跟着廖雪峰的教程学习python,途中遇到了"在Python中使用迭代器打印杨辉三角"的问题,我在帮忙解决的同时顺手写了个简单的C#版本以供补充. internal ...

  3. MySQL--REPALCE INTO操作

    REPLACE INTO语法是MySQL数据库独特的扩展语法,可以提供“不存在即插入,存在即更新”的操作,MySQL官方文档解析其算法为: 1.尝试进行INSER 操作 2.如果INSERT 失败,则 ...

  4. 一些LinuxC的小知识点(二)

    一.read系统调用       系统调用read的作用是:从与文件描述符filedes相关联的文件里读入nbytes个字节的数据,并把它们放到数据区buf中.它返回实际读入的字节数.这可能会小于请求 ...

  5. javascript变量浅析

    变量声明 javascript 使用var + 变量名 声明变量,因为javascript是弱类型语言, 所有我们可以随意更改已有变量的类型. var b=1; b='2', 另外不同于c#中的var ...

  6. 数据导出之winfrom导出word(二)

    本篇文章介绍了根据word模板导出word文档的方法. 一.获取模板地址 WordDocFileHelper WordTem = new WordDocFileHelper(); string pat ...

  7. ubuntu 环境 openstack 源码包制成 deb 包

    安装软件: sudo apt-get install dh-make checkinstall cd neutron sudo checkinstall -D -y -install=no -pkgv ...

  8. 《Python黑帽子:黑客与渗透测试编程之道》 玩转浏览器

    基于浏览器的中间人攻击: #coding=utf-8 import win32com.client import time import urlparse import urllib data_rec ...

  9. iframe 跨域调用父级方法的方案

    一.如果高层域名相同的话,可以通过document.domain来实现跨域访问 例如: 父级域名:localhost:8080 子级域名:localhost:9090 那么可以设置document.d ...

  10. android开发学习——day7

    线性布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...