您的位置:首页 > 数据库

几年前写的一个支持多数据库切换的设计

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         #endregion
View Code

 结尾

因为当时水平很菜,所以这个设计的也存在一些问题,后面发现动软代码生成器生成的架构采用了抽象工厂模式,耦合度更低。

            

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐