zoukankan      html  css  js  c++  java
  • 实现工厂模式下不同的数据库连接

    首先是配置文件:其中的providerName就是指定的不同数据库类型

    1. <connectionStrings> 
    2. <addnameaddname="..."connectionString="..."providerName="System.Data.OleDb"/> 
    3.  
    4. <addnameaddname="..."connectionString="..."providerName="System.Data.SqlClient"/> 
    5. </connectionStrings> 

        下面看一下使用工厂的这个类:

    1. class DataBaseFac  
    2. {  
    3. private DbConnection cnn;//抽象类型  
    4. private DbCommand cmd;//抽象类型  
    5. private DbProviderFactory provider;  
    6. public DataBaseFac()  
    7. {  
    8.  
    9. //从配置文件中取出标示数据库类型的字符串  
    10. string providerName=ConfigurationManager.ConnectionStrings[1].ProviderName;  
    11.  
    12. //根据上一部的结果工厂创建一个对应的实例  
    13. provider=DbProviderFactories.GetFactory(providerName);  
    14.  
    15. //使用该实例就可以创建对应的connection,command和adapater对象了  
    16.  
    17. //调试的时候可以看到这几个对象都变成了相应于数据库类型的  
    18. cnn=provider.CreateConnection();  
    19. cnn.ConnectionString=ConfigurationManager.ConnectionStrings[1].ConnectionString;  
    20. cmd=provider.CreateCommand();  
    21. cmd.Connection=cnn;  
    22. }  
    23.  
    24. //执行一次查询,返回数据表  
    25.  
    26. public DataTable ExcuteQuery(string queryString)  
    27. {  
    28. DataTable result=new DataTable();  
    29. DbDataAdapter adapter=provider.CreateDataAdapter();  
    30. cmd.CommandType=CommandType.Text;  
    31. cmd.CommandText=queryString;  
    32. adapter.SelectCommand=cmd;  
    33. try  
    34. {  
    35. cnn.Open();  
    36. adapter.Fill(result);  
    37. }  
    38. catch  
    39. {  
    40. result=null;  
    41. }  
    42. finally  
    43. {  
    44. cnn.Close();  
    45. }  
    46. return result;  
    47.  
  • 相关阅读:
    GIT配置及用法
    Web前端深思
    SPA解释:单页应用程序
    对 Sea.js 进行配置(一) seajs.config
    前端开发知识体系技能点【根据自我学习顺序】
    App性能提升方法
    浅谈Bootstrap自适应功能在Web开发中的应用
    《写给大家看的设计书》 读书笔记(三)
    《写给大家看的设计书》读书笔记(一)
    《写给大家看的设计书》读书笔记(二)
  • 原文地址:https://www.cnblogs.com/yuloe2012/p/2779732.html
Copyright © 2011-2022 走看看