上回说到,各种数据库的差异比较明显.

Access和MySql不支持存储过程,Sql支持

Access和MySql不支持数据库备份,Sql支持

Access和Sql不支持优化,MySql支持

Access和MySql不支持全文搜索,Sql支持

等等,,数据库之前的差异,那么我们为何不顺水推舟呢.把DbHelper中的switch(数据库类型){....}这个毒瘤一块干掉呢.

这样就能更好的改造我们的DbHelper

 

小菜梦游Discuz!NT (第九篇 数据层设计5)

小菜的设计登场了.

数据库驱动接口

小菜梦游Discuz!NT (第九篇 数据层设计5)using System;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data.Common;
小菜梦游Discuz!NT (第九篇 数据层设计5)
小菜梦游Discuz!NT (第九篇 数据层设计5)
namespace Discuz.Data

Access数据库驱动

小菜梦游Discuz!NT (第九篇 数据层设计5)using System;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data.Common;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data.OleDb;
小菜梦游Discuz!NT (第九篇 数据层设计5)
小菜梦游Discuz!NT (第九篇 数据层设计5)
namespace Discuz.Data

 

SqlServer数据库驱动

小菜梦游Discuz!NT (第九篇 数据层设计5)using System;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data.Common;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data.SqlClient;
小菜梦游Discuz!NT (第九篇 数据层设计5)
小菜梦游Discuz!NT (第九篇 数据层设计5)
namespace Discuz.Data

 

那我们开始改进DbHelper吧.

 

小菜梦游Discuz!NT (第九篇 数据层设计5)using System;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Web;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using System.Data.Common;
小菜梦游Discuz!NT (第九篇 数据层设计5)
using Discuz.Config;
小菜梦游Discuz!NT (第九篇 数据层设计5)
小菜梦游Discuz!NT (第九篇 数据层设计5)
namespace Discuz.Data

 

看吧.我们的DbHelper修改的代码并没有太多.

然而仅仅通过引入IDbProvider这个接口,就让我们的设计更加灵活.

而且我们还在DbHelper中加入了输出参数与输出参数的支持MakeInParam()和MakeOutParam()

 

到此我们的DbHelper的改进就暂告一段落了.

多数据库的支持也大体完成了.

 

 休息.休息.

相关文章:

  • 2022-12-23
  • 2021-12-27
  • 2022-02-11
  • 2021-08-18
  • 2022-01-08
  • 2021-12-09
  • 2021-07-15
  • 2021-08-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案