zoukankan      html  css  js  c++  java
  • C# ADO.NET 实体类中的属性扩展

    几种属性扩展的方式

    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;
            }
    View Code

    2.Parameters 集合是属于数据库操作类的,作用是防止字符串注入攻击

      数据库操作类   SqlCommand cmd;

      数据库连接类  SqlConnection conn;

    3.泛型集合定义:不固定长度,固定数据类型

    4.类的构造函数在什么情况下会被调用:实例化对象时

      调用方法是:构造函数已经使用完毕

    5.子类可以继承父类中的所有public方法和属性

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

  • 相关阅读:
    学习资料(干货汇集)
    Android安全系列之:如何在native层保存关键信息
    IntelliJ IDEA 2019 快捷键终极大全,速度收藏!
    【转】45个实用的JavaScript技巧、窍门和最佳实践
    Android中jsoup的混淆规则【转】
    Android WebServer相关项目
    【转】实战nanoHTTPD嵌入android app(3)
    【.net 深呼吸】程序集的热更新
    【WCF】使用“用户名/密码”验证的合理方法
    【Win 10 应用开发】应用预启动
  • 原文地址:https://www.cnblogs.com/Tanghongchang/p/6755053.html
Copyright © 2011-2022 走看看