• ADO.Net(四)——扩展属性和配置文件应用


    一、扩展属性

    处理:有外键关系时将代号化信息处理成原始文字,让用户可看懂的(粗略解释)

    利用扩展属性

    如:Info表中的民族列显示的是民族代号处理成Nation表中的民族名称

          需要在Info类里面扩展一个显示nation名称的属性

    代码显示:

    第一步:在NationDA里面构造一个代号换成名称的方法

    public string NationName(string code)
            {
                _cmd.CommandText = "select Name from Nation where Code=@code";
                _cmd.Parameters.AddWithValue("@code",code);
    
                _conn.Open();
                _dr = _cmd.ExecuteReader();
    
    
                if (_dr.HasRows)
                {
                    _dr.Read();
                    return _dr[0].ToString();
                }
                else
                {
                    return "汉族";
                }
    
                _conn.Close();
    
            }

    第二步:

    public class Info
        { 
            //扩展的名族名称属性
            public string NationName
            {
                get {
                    NationDA da = new NationDA();
                    return da.NationName(this.nation);//this关键字,该对象里面是不是有一个nation
                }
            }

    二、配置文件(App.config)

    换台电脑、数据库名不同时,为了让别的用户也可以运行,把数据连接写在配置文件中,方便修改

    例:

    App.config中:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
      //key 配置名称
      <appSettings>
        <add key="connstring" value="server=.;database=mydb;user=sa;pwd=123"/>
      </appSettings>
    </configuration>

    数据连接类中:

    public class DBConnect
        {
            private static string connstring = System.Configuration.ConfigurationSettings.AppSettings["connstring"];
            
            public static SqlConnection Conn
            {
                get {
                    return new SqlConnection(connstring);
                }
            }
        }

    低版本可以用该方法,高版本可以根据提示更改:

    用户修改方式:

    首先找到如图第二个文件:

    然后,用记事本打开修改即可。

  • 相关阅读:
    [洛谷P4725]【模板】多项式对数函数
    [洛谷P4841]城市规划
    [洛谷P4346][CERC2015]ASCII Addition
    [洛谷P3978][TJOI2015]概率论
    [洛谷P4656][CEOI2017]Palindromic Partitions
    [洛谷P4889]kls与flag
    [洛谷P3810]【模板】三维偏序(陌上花开)
    [洛谷P2613]【模板】有理数取余
    [bzoj4945][Noi2017]游戏
    [洛谷P4151][WC2011]最大XOR和路径
  • 原文地址:https://www.cnblogs.com/H2921306656/p/5810209.html
Copyright © 2020-2023  润新知