zoukankan      html  css  js  c++  java
  • 配置文件App.config的使用以及Readonly与Const的对比

    以前我们学习的时候都把连接数据库的连接字符串写在一个类中,因为我们的数据库都在自己电脑上。如果更换数据库地址,需要更改这个类,然后重新编译才可以连接到数据库。现在我们需要将连接字符串当道一个文件中,然后程序读取整个文件,更换数据库地址时,只需修改这个文件就可以了。

    xml配置文件App.config配置文件在UI层,VS2010会自动生成配置文件。如果没有生成可以手动添加→新建项→应用程序盘配置文件,注意创建的名称必须是系统生出的App.Config,不能修改。

    添加好配置文件,在文件中添加连接字符串的节点<connectionStrings>,在该节点下添加节点<add name="连接字符串的名称"  connectionString="连接字符串的内容">。例如:

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

      <connectionStrings>

        <add name="constr" connectionString="Data Source=.; Initial Catalog=MySchool; uid=sa;"/>

     </connectionStrings>

    </configuration>

    访问本机数据库的书写方式还有别的方式,本人最常用的是:server=.;database=myschool;uid=sa;因为学习需要本人没设置密码所以密码不用写。

    由于有些SQL语句频繁使用,我们可以把这些SQL字符串提取到一个SqlHelper类里当作一个静态字符串来调用比较方便。SqlHelper类一般在数据访问层创建。

    我们要把配置文件里的地址信息读取出来赋值给SqlHelper类,首先要要在数据访问层(DAL层)右键添加引用,切到.NET选项卡下,找到System.Configuration命名空间添加。然后再SqlHelper类中通过using System.Configuration添加命名空间,

    再通过ConfigurationManager.ConnectionStrings["constr"].ConnectionString获取连接字符串。例如:public static string constr=ConfigurationManager.ConnectionStrings["constr"].ConnectionString;

    ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

    readonly与const的对比:

    const能修饰类中的字段或者局部变量,readonly只能修饰类的字段。对于引用类型除了string外,一般不声明位const。如果非要声明为const,那么初始值只能为null。const修饰的常量需要在声明时进行赋值,而readonly常量可以在程序运行时赋值。

    readonly MyClass myins=new MyClass();这里readonly不能替换为const因为myClass是引用类型而且new是在程序运行时进行的开辟空间操作,而const赋值需要在程序编译的时候。

    readonly MyClass myins=null;这里的readonly能替换为const因为引用类型非要声明为const,那么初始值只能为null。

    readonly intp[] constInArray=new int[]{1,2,3};这里的readonly不能替换为const,因为数组是引用类型而且是在程序运行的时候赋值。

    void SomeFuncation()

    {

       const int a=10;

    }

    这里的const不能替换为readonly因为readonly只能修饰类的字段,不能修饰局部变量,也不能修饰属性等其他类成员。

  • 相关阅读:
    16 Errors and Exceptions
    13 Asynchronous Programming
    wpf入门
    iframe cross domain
    ini_set("error_log",$error_path)设置
    MySQL中merge表存储引擎用法
    php中静态属性静态方法的用法
    PHP的SESSIONID生成原理
    composer的基本 使用
    相邻省份数组
  • 原文地址:https://www.cnblogs.com/345214483-qq/p/3745748.html
Copyright © 2011-2022 走看看