您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

用反射+配置文件实现数据库的访问

2024/7/11 22:44:47发布35次查看
刚开始对配置文件的认识比较模式,按照书上讲的,往程序中添加一个app.config文件,然后添加system.configuration引用就可以了。但是真正去做的时候也遇到不少问题,小小的总结一下。 首先,为什么要使用配置文件呢? 我们在连接数据库的时候,需要有一个对
        刚开始对配置文件的认识比较模式,按照书上讲的,往程序中添加一个app.config文件,然后添加system.configuration引用就可以了。但是真正去做的时候也遇到不少问题,小小的总结一下。
       首先,为什么要使用配置文件呢?
       我们在连接数据库的时候,需要有一个对象来保存连接字符串,通常情况下这个字符串是写在程序代码中的,这样如果我们更换数据库访问时,我们还是要重新修改程序,这样是很不灵活的;其次,出于安全考虑,我们都知道sql注入,攻击者通过输入特定字符修改sql语句,从而获得一些比较私密的信息,危害数据库,看过曾经的一则新闻,12306网站存在sql注入等多个漏洞,试想如果一旦被一些有心人士利用了,后果是不堪设想的。基于以上原因,我们引入了配置文件。
        其次,介绍一下配置文件的使用。
        我在重构机房收费系统时在两处使用了配置文件。
        第一处:保存连接数据的字符串。
        没有使用配置文件,是这样定义连接字符串的:
dim strcon as string = data source=localhost;initial catalog=user;user id=sa;password=123456;
现在我们要使用配置文件来保存连接字符串:        ①在ui层中的添加一个“应用程序配置文件”,即app.configuration文件,一般是默认就用的不同添加。注意的是一定要添加在ui层,因为程序是从ui层开始读取的。配置文件的内容如下:

然后在d层读取配置文件:       
dim strcon as string = system.configuration.configurationsettings.appsettings(constr)
这样,如果我们需要更换数据库,直接更改连接配置文件中的字符串就可以了,不需要更改程序代码。
第二处:在dbfactory工厂类中,实例化d层的sqlserver类时。在app.config文件中再加上名为“db”的key,并赋值,如下:

然后,在dbfactroy工厂类中,读取配置文件。       
dim strdb as string = configurationsettings.appsettings(db) public shared function createuserdao() as idal.iuserinfo dim classname as string classname = assemblyname + . + db return ctype(assembly.load(assemblyname).createinstance(classname), idal.iuserinfo) end function
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product