融合CURD的类的设计方式

在学习.net的早期,设计类时习惯把CRUD的方法也写到类中,后来考虑到这样的写法不方便扩展,特别当数据库类型移植时要做很多的工作,但是还是把他写出来。

using System;
using System.Data;
using System.Data.OracleClient;
using Fjeptri.DataAccess.DataHelper;

namespace oilManage
{
    public class DatfaultEntity
    {
        public DatfaultEntity()
        {
        }
        public DatfaultEntity(string descrption,string dispose,decimal fault_id,DateTime operatedate,string operateuser,decimal trialinfo_id)
        {
            this.Descrption=descrption;
            this.Dispose=dispose;
            this.Fault_id=fault_id;
            this.Operatedate=operatedate;
            this.Operateuser=operateuser;
            this.Trialinfo_id=trialinfo_id;
        }
        public DatfaultEntity(DatfaultPK datfaultPK)
        {
            this.PK=datfaultPK;
            this.Read();
        }
        private string mDescrption;
        public string Descrption
        {
            get{ return mDescrption ;}
            set{ mDescrption=value ;}
        }
        private string mDispose;
        public string Dispose
        {
            get{ return mDispose ;}
            set{ mDispose=value ;}
        }
        private decimal mFault_id;
        public decimal Fault_id
        {
            get{ return mFault_id ;}
            set{ mFault_id=value ;}
        }
        private DateTime mOperatedate;
        public DateTime Operatedate
        {
            get{ return mOperatedate ;}
            set{ mOperatedate=value ;}
        }
        private string mOperateuser;
        public string Operateuser
        {
            get{ return mOperateuser ;}
            set{ mOperateuser=value ;}
        }
        private decimal mTrialinfo_id;
        public decimal Trialinfo_id
        {
            get{ return mTrialinfo_id ;}
            set{ mTrialinfo_id=value ;}
        }
        private DatfaultPK datfaultPK;
        public DatfaultPK PK
        {
            get
            {
                return new DatfaultPK(this.Fault_id);
            }
            set
            {
                this.Fault_id=value.Fault_id;
            }
        }
        public void Create()
        {
            OracleConnection connection=new OracleConnection(ConfigInfo.GetConnectionString());
            connection.Open();
            OracleTransaction transaction=connection.BeginTransaction(IsolationLevel.ReadCommitted);
            try
            {
                this.Create(transaction);
                transaction.Commit();
            }
            catch(Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            finally
            {
                connection.Close();
            }
        }
        internal void Create(OracleTransaction transaction)
        {
            string CREATE="insert into DATFAULT(DESCRPTION,DISPOSE,FAULT_ID,OPERATEDATE,OPERATEUSER,TRIALINFO_ID) values(:DESCRPTION,:DISPOSE,:FAULT_ID,:OPERATEDATE,:OPERATEUSER,:TRIALINFO_ID)";
            OracleParameter[] param=OracleHelper.GetCacheParameter(CREATE);
            if(param==null)
            {
                param=new OracleParameter[6];
                param[0]=new OracleParameter("DESCRPTION",OracleType.VarChar,4000);
                param[1]=new OracleParameter("DISPOSE",OracleType.VarChar,4000);
                param[2]=new OracleParameter("FAULT_ID",OracleType.Number);
                param[3]=new OracleParameter("OPERATEDATE",OracleType.DateTime);
                param[4]=new OracleParameter("OPERATEUSER",OracleType.VarChar,20);
                param[5]=new OracleParameter("TRIALINFO_ID",OracleType.Number);
                OracleHelper.CacheParameter(CREATE,param);
            }
            param[0].Value=this.Descrption==null?string.Empty:this.Descrption;
            param[1].Value=this.Dispose==null?string.Empty:this.Dispose;
            param[2].Value=this.Fault_id;
            param[3].Value=this.Operatedate;
            param[4].Value=this.Operateuser==null?string.Empty:this.Operateuser;
            param[5].Value=this.Trialinfo_id;
            OracleHelper.ExecuteNonQuery(transaction,CommandType.Text,CREATE,param);
        }
        public void Delete()
        {
            OracleConnection connection=new OracleConnection(ConfigInfo.GetConnectionString());
            connection.Open();
            OracleTransaction transaction=connection.BeginTransaction(IsolationLevel.ReadCommitted);
            try
            {
                this.Delete(transaction);
                transaction.Commit();
            }
            catch(Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            finally
            {
                connection.Close();
            }
        }
        internal void Delete(OracleTransaction transaction)
        {
            string DELETE="delete DATFAULT where FAULT_ID=:FAULT_ID";
            OracleParameter[] param=OracleHelper.GetCacheParameter(DELETE);
            if(param==null)
            {
                param=new OracleParameter[1];
                param[0]=new OracleParameter("FAULT_ID",OracleType.Number);
                OracleHelper.CacheParameter(DELETE,param);
            }
            param[0].Value=this.Fault_id;
            OracleHelper.ExecuteNonQuery(transaction,CommandType.Text,DELETE,param);
        }
        public void Read()
        {
            string READ="select DESCRPTION,DISPOSE,FAULT_ID,OPERATEDATE,OPERATEUSER,TRIALINFO_ID from DATFAULT where FAULT_ID=:FAULT_ID";
            OracleParameter[] param=OracleHelper.GetCacheParameter(READ);
            if(param==null)
            {
                param=new OracleParameter[1];
                param[0]=new OracleParameter("FAULT_ID",OracleType.Number);
                OracleHelper.CacheParameter(READ,param);
            }
            param[0].Value=this.Fault_id;
            using(OracleDataReader dr=OracleHelper.ExecuteReader(ConfigInfo.GetConnectionString(),CommandType.Text,READ,param))
            {
                if(dr.Read()==false)
                    return;
                if(!dr.IsDBNull(0))
                    this.Descrption=dr.GetString(0);
                if(!dr.IsDBNull(1))
                    this.Dispose=dr.GetString(1);
                if(!dr.IsDBNull(2))
                    this.Fault_id=dr.GetDecimal(2);
                if(!dr.IsDBNull(3))
                    this.Operatedate=dr.GetDateTime(3);
                if(!dr.IsDBNull(4))
                    this.Operateuser=dr.GetString(4);
                if(!dr.IsDBNull(5))
                    this.Trialinfo_id=dr.GetDecimal(5);
            }
        }
        public static DataTable SelectAllDatfaultEntity()
        {
            string SELECTALLDATFAULTENTITY="select DESCRPTION,DISPOSE,FAULT_ID,OPERATEDATE,OPERATEUSER,TRIALINFO_ID from DATFAULT";
            return OracleHelper.ExecuteDataTable(ConfigInfo.GetConnectionString(),CommandType.Text,SELECTALLDATFAULTENTITY);
        }
        public void Update()
        {
            OracleConnection connection=new OracleConnection(ConfigInfo.GetConnectionString());
            connection.Open();
            OracleTransaction transaction=connection.BeginTransaction(IsolationLevel.ReadCommitted);
            try
            {
                this.Update(transaction);
                transaction.Commit();
            }
            catch(Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            finally
            {
                connection.Close();
            }
        }
        internal void Update(OracleTransaction transaction)
        {
            string UPDATE="update DATFAULT set DESCRPTION=:DESCRPTION,DISPOSE=:DISPOSE,FAULT_ID=:FAULT_ID,OPERATEDATE=:OPERATEDATE,OPERATEUSER=:OPERATEUSER,TRIALINFO_ID=:TRIALINFO_ID where FAULT_ID=:FAULT_ID";
            OracleParameter[] param=OracleHelper.GetCacheParameter(UPDATE);
            if(param==null)
            {
                param=new OracleParameter[7];
                param[0]=new OracleParameter("DESCRPTION",OracleType.VarChar,4000);
                param[1]=new OracleParameter("DISPOSE",OracleType.VarChar,4000);
                param[2]=new OracleParameter("FAULT_ID",OracleType.Number);
                param[3]=new OracleParameter("OPERATEDATE",OracleType.DateTime);
                param[4]=new OracleParameter("OPERATEUSER",OracleType.VarChar,20);
                param[5]=new OracleParameter("TRIALINFO_ID",OracleType.Number);
                param[6]=new OracleParameter("FAULT_ID",OracleType.Number);
                OracleHelper.CacheParameter(UPDATE,param);
            }
            param[0].Value=this.Descrption==null?string.Empty:this.Descrption;
            param[1].Value=this.Dispose==null?string.Empty:this.Dispose;
            param[2].Value=this.Fault_id;
            param[3].Value=this.Operatedate;
            param[4].Value=this.Operateuser==null?string.Empty:this.Operateuser;
            param[5].Value=this.Trialinfo_id;
            param[6].Value=this.Fault_id;
            OracleHelper.ExecuteNonQuery(ConfigInfo.GetConnectionString(),CommandType.Text,UPDATE,param);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值