c#接口的定义与实现
2013-04-18 15:35
477 查看
http://www.cnblogs.com/jiajiayuan/archive/2011/09/16/2178462.html
http://www.cnblogs.com/ben-zhang/archive/2012/12/18/2823455.html C# code
?
然后是实现
C# code
这里需要注意, ba_county必需要完成Iba_county中所定义的所有方法
最后是业务逻辑层的调用接口进行编程
这样做能就达到Content和DALSQLServer同步进行,分工合作
http://www.cnblogs.com/ben-zhang/archive/2012/12/18/2823455.html C# code
?
using System; using System.Collections.Generic; using System.Text; using Galsun.HH.FCX.Mode; using System.Reflection; namespace Galsun.HH.FCX.DALFactory { public interface Iba_county { ba_countyinfo GetInfoByID(string cond); ba_countyinfo GetInfoByID(string cond, ba_countyinfo param); IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond); IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond, ba_countyinfo param); int GetRowCount(string cond); int GetRowCount(string cond, ba_countyinfo param); int Create(ba_countyinfo info); int Update(ba_countyinfo info, string cond); int Delete(string cond); int Delete(string cond, ba_countyinfo param); } public sealed partial class DataAccess { /// <summary> /// 获取ba_county相应接口 /// </summary> /// <returns></returns> public static Iba_county CreateIba_county() { string className = path + ".ba_county"; return (Iba_county)Assembly.Load(path).CreateInstance(className); } } }
然后是实现
C# code
using System; using System.Collections.Generic; using System.Text; using Galsun.DALProfile; using Galsun.HH.FCX.DALFactory; using Galsun.HH.FCX.Mode; using System.Reflection; namespace Galsun.HH.FCX.DALSQLServer { /// <summary> /// /// /// </summary> public class ba_county:Iba_county { private DBTool dal = new DBTool(); /// <summary> /// 根据条件获取信息 /// </summary> /// <param name="cond">栓索条件</param> /// <returns></returns> public ba_countyinfo GetInfoByID(string cond) { string _cond = cond == null ? "" : cond; if (_cond.Length>0 && !_cond.ToLower().Contains("where")) _cond = " where " + _cond; string query = string.Format("Select top 1 * From [ba_county] {0}", _cond); Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType(); return dal.GetModelList<ba_countyinfo>(query, type); } /// <summary> /// 根据条件获取信息 /// </summary> /// <param name="cond">检索条件</param> /// <param name="param">SQL形参参数</param> /// <returns></returns> public ba_countyinfo GetInfoByID(string cond, ba_countyinfo param) { string _cond = cond == null ? "" : cond; if (_cond.Length>0 && !_cond.ToLower().Contains("where")) _cond = " where " + _cond; string query = string.Format("Select top 1 * From [ba_county] {0}", _cond); Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType(); return dal.GetModelList<ba_countyinfo>(query, dal.SetValueParam(param), type); } /// <summary> /// 获取信息列表 /// </summary> /// <param name="pageindex">分页索引</param> /// <param name="pagesize">页面大小</param> /// <param name="ordfid">排序字段(必须的)</param> /// <param name="cond">检索条件</param> /// <returns></returns> public IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond) { Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType(); return dal.GetModelList<ba_countyinfo>("[ba_county]", pageindex, pagesize, ordfid, cond, type); } /// <summary> /// 获取信息列表 /// </summary> /// <param name="pageindex">分页索引</param> /// <param name="pagesize">页面大小</param> /// <param name="ordfid">排序字段(必须的)</param> /// <param name="cond">检索条件</param> /// <param name="param">SQL形参参数</param> /// <returns></returns> public IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond, ba_countyinfo param) { Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType(); return dal.GetModelList<ba_countyinfo>("[ba_county]", pageindex, pagesize, ordfid, cond, dal.SetValueParam(param), type); } /// <summary> /// 获取记录数 /// </summary> /// <param name="cond">检索条件</param> /// <returns></returns> public int GetRowCount(string cond) { return dal.GetRowCount("[ba_county]", cond); } /// <summary> /// 获取记录数 /// </summary> /// <param name="cond">检索条件</param> /// <param name="param">SQL形参参数</param> /// <returns></returns> public int GetRowCount(string cond, ba_countyinfo param) { return dal.GetRowCount("[ba_county]", cond, dal.SetValueParam(param)); } /// <summary> /// 创建记录 /// </summary> /// <param name="info"></param> /// <returns></returns> public int Create(ba_countyinfo info) { string query = "Insert Into [ba_county]([cCountyCode],[cCountyName],[cMarketCode],[cDCCode],[OrderID]) " + "values (@cCountyCode,@cCountyName,@cMarketCode,@cDCCode,@OrderID)"; return dal.ExecuteNonQuery(query, dal.SetValueParam(info)); } /// <summary> /// 修改记录 /// </summary> /// <param name="info"></param> /// <returns></returns> public int Update(ba_countyinfo info, string cond) { string _cond = cond == null ? "" : cond; if (_cond.Length>0 && !_cond.ToLower().Contains("where")) _cond = " where " + _cond; string query ="Update [ba_county] Set [cCountyCode]=@cCountyCode, [cCountyName]=@cCountyName, [cMarketCode]=@cMarketCode, [cDCCode]=@cDCCode, [OrderID]=@OrderID" + _cond ; return dal.ExecuteNonQuery(query, dal.SetValueParam(info)); } /// <summary> /// 删除记录 /// </summary> /// <param name="cond">检索条件</param> /// <returns></returns> public int Delete(string cond) { string _cond = cond == null ? "" : cond; if (_cond.Length>0 && !_cond.ToLower().Contains("where")) _cond = " where " + _cond; string query = string.Format("DELETE From [ba_county] {0}", _cond); return dal.ExecuteNonQuery(query, null); } /// <summary> /// 删除记录 /// </summary> /// <param name="cond">检索条件</param> /// <param name="param">SQL形参参数</param> /// <returns></returns> public int Delete(string cond, ba_countyinfo param) { string _cond = cond == null ? "" : cond; if (_cond.Length>0 && !_cond.ToLower().Contains("where")) _cond = " where " + _cond; string query = string.Format("DELETE From [ba_county] {0}", _cond); return dal.ExecuteNonQuery(query, dal.SetValueParam(param)); } } }
这里需要注意, ba_county必需要完成Iba_county中所定义的所有方法
最后是业务逻辑层的调用接口进行编程
namespace Galsun.HH.FCX.Content { /// <summary> /// 县区管理 /// </summary> public class County { Iba_county icounty = DataAccess.CreateIba_county(); /// <summary> /// 创建县区档案 /// </summary> /// <param name="info"></param> /// <returns></returns> public bool Create(ba_countyinfo info) { if (icounty.Create(info) > 0) { clearCache(); return true; } return false; } ......
这样做能就达到Content和DALSQLServer同步进行,分工合作
相关文章推荐
- C#之接口定义与实现
- 在C++中定义接口类,在C#中实现
- C# IEnumUnknown 系统接口定义与实现
- C# - 重定义一个接口的实现
- C#:实现接口中定义的事件
- 详解C#接口以及实现/C# 接口中不能定义字段
- 改进C#代码之24:通过定义并实现接口替代继承
- 详解C#接口以及实现/C# 接口中不能定义字段
- 《Effective C#》读书笔记——条目22:通过定义并实现接口替代继承<使用C#表达设计>
- 改进C#代码之22:通过定义并实现接口替代继承
- 加入一个c#的接口中定义了属性,那么实现这个接口的类
- c#接口实现 - 第二节定义接口
- C#接口的定义、特点、实现和应用
- C#之接口定义与实现
- C#接口实现 - 第三节 定义接口成员
- C#学习- 通过基于接口的编程来实现数据库的切换
- C#实现QQ接口软件--QQ的HTTP接口协议探究
- 显式接口实现(C# 编程指南)
- C#高级编程学习笔记--------接口的定义和实现
- java中接口的定义与实现