c#接口的定义与实现

 
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
?
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同步进行,分工合作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值