静态字段的应用

  今天user提出,想在登陆系统时,选择测试资料库和正式资料库.
   数据库连接字符串是存储在DBconn.XML 文件中的,原来的测试区,和正式区分别独立(两个独立的系统),所以在对数据库操作时,自己选择自己的XML文件并读取里面的连接字符串就好了.
   如果要把他们放在一起,那么在登陆时,首先选择要操作的是测试资料库还是正式资料库.并对作出的选择作出标记,用于告诉连接资料库的类要对哪个XML文件进行操作.
   连接资料库的类:
   class Connstring
    {
        private int selectindex;
        public int SelectIndex
        {
            get
            {
                return selectindex;
            }
            set
            {
                selectindex = value;
            }
        }
        public void Connstring()
        {
            if (selectindex == 0)
            {
                //读出测试资料库连接字符串 Connstring
            }
            else
            {
                //读出正式资料库连接字符串 Connstring
            }
        }

        //利用字符串Connstring 对数据库连接并操作。
    }
 

在登陆时:

 Connstring conn=new Connstring()
   if(选择测试资料库)
  {Conn.SelectIndex=0; }
  else
       {Conn.SelectIndex=1; } 

  这样做了以后,本以为没有问题了,测试后发现无论我选择哪个资料库,系统显示的数据永远都是测试区的数据!!
 
  经过跟踪调试,发现:
  在刚刚做完选择动作后,比方说选择正式区,此时类中selectindex字段按照预期显示为1;但当我要调用 类中其他的方法操作数据库时(当然要对类做new操作),selectindex字段,被初始化为0.......

       得有一个办法,使得selectindex字段,在最初赋予数值后不能改变,直至系统退出

  于是想到了用static关键字.静态字段是属于类的,不属于对象,故不能做实例化,一旦赋数值,此数值就存储内存中,以备调用,直至系统退出,才释放.

   struct DBType
    {
        public static int selectindex;
    }
    class Connstring
    {
 
        public void Connstring()
        {
            if (DBType.selectindex == 0)
            {
                //读出测试资料库连接字符串 Connstring
            }
            else
            {
                //读出正式资料库连接字符串 Connstring
            }
        }

        //利用字符串Connstring 对数据库连接并操作。
    }

  在登陆时:
   if(选择测试资料库)
  {DBType.selectindex =0; }
    else
        {DBType.selectindex =1; } 

  问题得到解决!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值