几年前写的一个支持多数据库切换的设计
2017-03-28 20:06
375 查看
前言
最新心血来潮,决定把以前做的一些东西做一些整理,于是就有这一篇文章,这次决定写的是大学时期做的一个小项目,里面关于数据库访问的SqlHelper类,项目采用CS结构,支持多种数据库切换,其中也参考了一些网上的东西,如果有版权问题,请私下联系我处理,项目比较简单,对入门还是有一定帮助的,大神请绕道。
正文
1、先看SqlServer数据处理部分
1 #region 药品 2 /// <summary> 3 /// 增加一个药品信息 4 /// </summary> 5 /// <param name="drug"></param> 6 /// <param name="creator"></param> 7 public void CreateDrug(Drugs drug,string creator) 8 { 9 using (IDbConnection conn=DAOFactory.Instance.OpenConnection()) 10 { 11 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 12 dao.InsertDrug(drug,conn); 13 } 14 } 15 /// <summary> 16 /// 保存修改过的药品信息 17 /// </summary> 18 /// <param name="drug"></param> 19 /// <param name="Modifier"></param> 20 public void SaveDrug(Drugs drug,string Modifier) 21 { 22 using (IDbConnection conn=DAOFactory.Instance.OpenConnection()) 23 { 24 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 25 dao.UpdateDrug(drug ,conn ); 26 } 27 } 28 /// <summary> 29 /// 删除一个药品信息 30 /// </summary> 31 /// <param name="drug"></param> 32 /// <param name="Deleter"></param> 33 public void DeleteDrug(Drugs drug, string Deleter) 34 { 35 using (IDbConnection conn=DAOFactory.Instance.OpenConnection()) 36 { 37 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 38 dao.DeleteDrug(drug.ID,conn); 39 } 40 } 41 /// <summary> 42 /// 获取所有药品信息 43 /// </summary> 44 /// <returns></returns> 45 public List<Drugs> GetAllDrugs() 46 { 47 using (IDbConnection conn=DAOFactory.Instance.OpenConnection()) 48 { 49 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 50 return dao.SelectAllDrugs(conn); 51 } 52 } 53 /// <summary> 54 /// 根据ID查找一个药品信息 55 /// </summary> 56 /// <param name="id"></param> 57 /// <returns></returns> 58 public Drugs RetrieveDrug(int id) 59 { 60 using (IDbConnection conn=DAOFactory.Instance.OpenConnection()) 61 { 62 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 63 return dao.SelectDrug(id,conn); 64 } 65 } 66 /// <summary> 67 /// 获取指定编码的药品 68 /// </summary> 69 /// <param name="code"></param> 70 /// <returns></returns> 71 public Drugs GetDrugsByCode(string code) 72 { 73 using (IDbConnection conn=DAOFactory.Instance.OpenConnection()) 74 { 75 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 76 return dao.SelectDrug(code,conn); 77 } 78 } 79 /// <summary> 80 /// 根据条件进行模糊搜索 81 /// </summary> 82 /// <param name="searchCond">搜索条件</param> 83 /// <returns></returns> 84 public List<Drugs> SearchDrugs(string searchCond) 85 { 86 using (IDbConnection conn = DAOFactory.Instance.OpenConnection()) 87 { 88 IDrugsDAO dao = DAOFactory.Instance.CreateDrugsDAO(); 89 SearchDrugsTemplate template = new SearchDrugsTemplate(); 90 template.Code = searchCond; 91 template.Name = searchCond; 92 template.From = searchCond; 93 template.Category = searchCond; 94 return dao.SearchDrugs(template, conn); 95 } 96 } 97 #endregionView Code
结尾
因为当时水平很菜,所以这个设计的也存在一些问题,后面发现动软代码生成器生成的架构采用了抽象工厂模式,耦合度更低。
相关文章推荐
- 一个项目同时支持两种数据库切换使用的设计
- 在VS2012中用工厂模式设计一个支持多种数据库的查询分析器
- 如何设计一个数据库中间件(支持百亿级别数据存储)
- 本人初学设计模式时写的一个支持多数据库的数据访问接口
- 如何设计一个数据库中间件(支持百亿级别数据存储)
- [数据库测试]强烈推荐一个python ODBC数据源插件,可支持Oracle,Db2,Mysql,Sql-server以及各种数据库版本,附例子和测试程序
- 利用数据库,生成一个.net 调用的类文件(只支持对一个表操作的类)
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,发两张图,等完全做好了,给大家共享!
- Dlinq对数据库支持上的一个缺陷
- [数据库测试]强烈推荐一个python ODBC数据源插件,可支持Oracle,Db2,Mysql,Sql-server以及各种数据库版本,附例子和测试程序
- 一个项目报表数据库设计的问题.
- 数据库设计时的一个原则
- 创建一个具有完整设计时(design time)支持的自定义数据源控件(DataSourceControl)
- 一个有关访问量统计的数据库设计以及isqlplus的一个设置问题
- 给大家推荐一个真正的免费空间,支持asp.net,PHP,多种数据库,空间容量无限
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,有兴趣的朋友可以去下载!
- 发一个招聘贴,求实时数据库开发设计人员
- 请各位大虾们帮帮小弟,谢谢!一个关于产品搜索数据库设计思路的问题
- 请教大家一个问题,有关于数据库的设计
- [数据库测试]强烈推荐一个python ODBC数据源插件,可支持Oracle,Db2,Mysql,Sql-server以及各种数据库版本,附例子和测试程序