您现在的位置是:首页 >

java中冒泡排序 c#中的数据库访问工厂

火烧 2021-09-30 06:55:06 1038
c#中的数据库访问工厂   上午看到一个兄弟的文章 很辛苦的想实现不改代码只改配置来访问不同类型的数据库 自己去实现工厂模式 精神可嘉 但是殊不知c#已经自己为不同类型数据库的访问做了一个工厂 在这里

c#中的数据库访问工厂  

  上午看到一个兄弟的文章 很辛苦的想实现不改代码只改配置来访问不同类型的数据库 自己去实现工厂模式 精神可嘉 但是殊不知c#已经自己为不同类型数据库的访问做了一个工厂 在这里我就把使用工厂的例子贴出来供不知道的兄弟参考一下 高手们可以忽略了

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

java中冒泡排序 c#中的数据库访问工厂
  <connectionStrings>    <add name= connectionString= providerName= System Data OleDb />      <add name= connectionString= providerName= System Data SqlClient />  </connectionStrings>

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

   class DataBaseFac  {    private DbConnection cnn;//抽象类型    private DbCommand cmd;//抽象类型    private DbProviderFactory provider;    public DataBaseFac()    {        //从配置文件中取出标示数据库类型的字符串      string providerName = ConfigurationManager ConnectionStrings[ ] ProviderName;        //根据上一部的结果工厂创建一个对应的实例      provider = DbProviderFactories GetFactory(providerName);        //使用该实例就可以创建对应的connection mand和adapater对象了        //调试的时候可以看到这几个对象都变成了相应于数据库类型的      cnn = provider CreateConnection();      cnn ConnectionString = ConfigurationManager ConnectionStrings[ ] ConnectionString;      cmd = provider CreateCommand();      cmd Connection = cnn;    }      //执行一次查询 返回数据表      public DataTable ExcuteQuery(string queryString)    {      DataTable result = new DataTable();      DbDataAdapter adapter = provider CreateDataAdapter();      cmd CommandType = CommandType Text;      cmd CommandText = queryString;      adapter SelectCommand = cmd;      try      {        cnn Open();        adapter Fill(result);      }      catch      {        result = null;      }      finally      {        cnn Close();      }      return result;      }

  以上只是简单的应用 并没有做比较高级的封装 只供不知道的兄弟参考

lishixinzhi/Article/program/net/201311/15456  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码