using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using AIMSModel;
using AIMSObjectQuery;
using System.Collections.Generic;
using DrawGraph;
namespace AIMSDAL
{
    internal partial class DOperationRecordInstrumentList
	{
	    #region 插入实体操作部份
	    /// 
        /// 插入
        /// 
		/// Command对象
        /// 实体类对象
        /// 标识列值或影响的记录行数
		internal static int Insert(SqlCommand cmd, OperationRecordInstrumentList operationRecordInstrumentList)
		{
		    cmd.Parameters.Clear();
			cmd.CommandText = "insert into OperationRecordInstrumentList (OperationRecordId,ApplianceUseType,TagPicture,Remark,JsonTextData,OperatorNo,OperatorName,OperateDate,OperationName,OperationNameRermark,DiseaseName,OperationSite,SkinBackInfo,BeforSkinInfo,DeepVeniPuncture,SpecialInfected,GastricCanal,Catheterization,InBloodType,InBloodName,InBloodXXB,InBloodXFHXB,InBloodXJ,InBloodLCD,InBloodZTX,InBloodQT,InBloodDose,veinInfuse,InDose,OutDose,ImagingData,Specimen,SpecimenCount,PathologyCount,SpecimenState,SpecimanToFrozen,specimanToPathology,SubmitForInspection,SubmitPerson,OpeOutState,OpeSpecialGoods,SpecialProblems,antibioticUserTime,BeforInvasive,TourniquetBegin1,TourniquetEnd1,TourniquetBegin2,TourniquetEnd2,TourniquetBegin3,TourniquetEnd3,TourniquetPosition,NegativePlatePosition,InWardTime,EMRInfo,Consciousness,BloodPressure,Pulse,Breathing,SkinType,HbsAg,afterSkinStatus,drainage,InBloodPosition,AsepticBagMonitor,DrugAllergy,OperationDoctor,InstrumentNurse,InstrumentNurseSucceed,InstrumentNurseSucceedTime,TourNurse,TourNurseSucceed,TourNurseSucceedTime,OutInstrumentNurse,OutInstrumentNurseSucceed,OutTourNurse,OutTourNurseSucceed,OtherInfo,OperationNurse,WardNurse) values (@OperationRecordId,@ApplianceUseType,@TagPicture,@Remark,@JsonTextData,@OperatorNo,@OperatorName,@OperateDate,@OperationName,@OperationNameRermark,@DiseaseName,@OperationSite,@SkinBackInfo,@BeforSkinInfo,@DeepVeniPuncture,@SpecialInfected,@GastricCanal,@Catheterization,@InBloodType,@InBloodName,@InBloodXXB,@InBloodXFHXB,@InBloodXJ,@InBloodLCD,@InBloodZTX,@InBloodQT,@InBloodDose,@veinInfuse,@InDose,@OutDose,@ImagingData,@Specimen,@SpecimenCount,@PathologyCount,@SpecimenState,@SpecimanToFrozen,@specimanToPathology,@SubmitForInspection,@SubmitPerson,@OpeOutState,@OpeSpecialGoods,@SpecialProblems,@antibioticUserTime,@BeforInvasive,@TourniquetBegin1,@TourniquetEnd1,@TourniquetBegin2,@TourniquetEnd2,@TourniquetBegin3,@TourniquetEnd3,@TourniquetPosition,@NegativePlatePosition,@InWardTime,@EMRInfo,@Consciousness,@BloodPressure,@Pulse,@Breathing,@SkinType,@HbsAg,@afterSkinStatus,@drainage,@InBloodPosition,@AsepticBagMonitor,@DrugAllergy,@OperationDoctor,@InstrumentNurse,@InstrumentNurseSucceed,@InstrumentNurseSucceedTime,@TourNurse,@TourNurseSucceed,@TourNurseSucceedTime,@OutInstrumentNurse,@OutInstrumentNurseSucceed,@OutTourNurse,@OutTourNurseSucceed,@OtherInfo,@OperationNurse,@WardNurse);select @@identity";
			//从实体中取出值放入Command的参数列表
			cmd.Parameters.Add(new SqlParameter("@OperationRecordId",operationRecordInstrumentList.OperationRecordId.HasValue?(object)operationRecordInstrumentList.OperationRecordId.Value:(object)DBNull.Value));
			cmd.Parameters.Add(new SqlParameter("@ApplianceUseType",operationRecordInstrumentList.ApplianceUseType==null?(object)DBNull.Value:(object)operationRecordInstrumentList.ApplianceUseType));
			cmd.Parameters.Add(new SqlParameter("@TagPicture",operationRecordInstrumentList.TagPicture==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TagPicture));
			cmd.Parameters.Add(new SqlParameter("@Remark",operationRecordInstrumentList.Remark==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Remark));
			cmd.Parameters.Add(new SqlParameter("@JsonTextData",operationRecordInstrumentList.JsonTextData==null?(object)DBNull.Value:(object)operationRecordInstrumentList.JsonTextData));
			cmd.Parameters.Add(new SqlParameter("@OperatorNo",operationRecordInstrumentList.OperatorNo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperatorNo));
			cmd.Parameters.Add(new SqlParameter("@OperatorName",operationRecordInstrumentList.OperatorName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperatorName));
			cmd.Parameters.Add(new SqlParameter("@OperateDate",operationRecordInstrumentList.OperateDate.HasValue?(object)operationRecordInstrumentList.OperateDate.Value:(object)DBNull.Value));
			cmd.Parameters.Add(new SqlParameter("@OperationName",operationRecordInstrumentList.OperationName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationName));
			cmd.Parameters.Add(new SqlParameter("@OperationNameRermark",operationRecordInstrumentList.OperationNameRermark==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationNameRermark));
			cmd.Parameters.Add(new SqlParameter("@DiseaseName",operationRecordInstrumentList.DiseaseName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.DiseaseName));
			cmd.Parameters.Add(new SqlParameter("@OperationSite",operationRecordInstrumentList.OperationSite==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationSite));
			cmd.Parameters.Add(new SqlParameter("@SkinBackInfo",operationRecordInstrumentList.SkinBackInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SkinBackInfo));
			cmd.Parameters.Add(new SqlParameter("@BeforSkinInfo",operationRecordInstrumentList.BeforSkinInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.BeforSkinInfo));
			cmd.Parameters.Add(new SqlParameter("@DeepVeniPuncture",operationRecordInstrumentList.DeepVeniPuncture==null?(object)DBNull.Value:(object)operationRecordInstrumentList.DeepVeniPuncture));
			cmd.Parameters.Add(new SqlParameter("@SpecialInfected",operationRecordInstrumentList.SpecialInfected==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecialInfected));
			cmd.Parameters.Add(new SqlParameter("@GastricCanal",operationRecordInstrumentList.GastricCanal==null?(object)DBNull.Value:(object)operationRecordInstrumentList.GastricCanal));
			cmd.Parameters.Add(new SqlParameter("@Catheterization",operationRecordInstrumentList.Catheterization==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Catheterization));
			cmd.Parameters.Add(new SqlParameter("@InBloodType",operationRecordInstrumentList.InBloodType==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodType));
			cmd.Parameters.Add(new SqlParameter("@InBloodName",operationRecordInstrumentList.InBloodName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodName));
			cmd.Parameters.Add(new SqlParameter("@InBloodXXB",operationRecordInstrumentList.InBloodXXB==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodXXB));
			cmd.Parameters.Add(new SqlParameter("@InBloodXFHXB",operationRecordInstrumentList.InBloodXFHXB==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodXFHXB));
			cmd.Parameters.Add(new SqlParameter("@InBloodXJ",operationRecordInstrumentList.InBloodXJ==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodXJ));
			cmd.Parameters.Add(new SqlParameter("@InBloodLCD",operationRecordInstrumentList.InBloodLCD==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodLCD));
			cmd.Parameters.Add(new SqlParameter("@InBloodZTX",operationRecordInstrumentList.InBloodZTX==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodZTX));
			cmd.Parameters.Add(new SqlParameter("@InBloodQT",operationRecordInstrumentList.InBloodQT==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodQT));
			cmd.Parameters.Add(new SqlParameter("@InBloodDose",operationRecordInstrumentList.InBloodDose==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodDose));
			cmd.Parameters.Add(new SqlParameter("@veinInfuse",operationRecordInstrumentList.VeinInfuse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.VeinInfuse));
			cmd.Parameters.Add(new SqlParameter("@InDose",operationRecordInstrumentList.InDose==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InDose));
			cmd.Parameters.Add(new SqlParameter("@OutDose",operationRecordInstrumentList.OutDose==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutDose));
			cmd.Parameters.Add(new SqlParameter("@ImagingData",operationRecordInstrumentList.ImagingData==null?(object)DBNull.Value:(object)operationRecordInstrumentList.ImagingData));
			cmd.Parameters.Add(new SqlParameter("@Specimen",operationRecordInstrumentList.Specimen==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Specimen));
			cmd.Parameters.Add(new SqlParameter("@SpecimenCount",operationRecordInstrumentList.SpecimenCount==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimenCount));
			cmd.Parameters.Add(new SqlParameter("@PathologyCount",operationRecordInstrumentList.PathologyCount==null?(object)DBNull.Value:(object)operationRecordInstrumentList.PathologyCount));
			cmd.Parameters.Add(new SqlParameter("@SpecimenState",operationRecordInstrumentList.SpecimenState==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimenState));
			cmd.Parameters.Add(new SqlParameter("@SpecimanToFrozen",operationRecordInstrumentList.SpecimanToFrozen==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimanToFrozen));
			cmd.Parameters.Add(new SqlParameter("@specimanToPathology",operationRecordInstrumentList.SpecimanToPathology==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimanToPathology));
			cmd.Parameters.Add(new SqlParameter("@SubmitForInspection",operationRecordInstrumentList.SubmitForInspection==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SubmitForInspection));
			cmd.Parameters.Add(new SqlParameter("@SubmitPerson",operationRecordInstrumentList.SubmitPerson==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SubmitPerson));
			cmd.Parameters.Add(new SqlParameter("@OpeOutState",operationRecordInstrumentList.OpeOutState==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OpeOutState));
			cmd.Parameters.Add(new SqlParameter("@OpeSpecialGoods",operationRecordInstrumentList.OpeSpecialGoods==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OpeSpecialGoods));
			cmd.Parameters.Add(new SqlParameter("@SpecialProblems",operationRecordInstrumentList.SpecialProblems==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecialProblems));
			cmd.Parameters.Add(new SqlParameter("@antibioticUserTime",operationRecordInstrumentList.AntibioticUserTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.AntibioticUserTime));
			cmd.Parameters.Add(new SqlParameter("@BeforInvasive",operationRecordInstrumentList.BeforInvasive==null?(object)DBNull.Value:(object)operationRecordInstrumentList.BeforInvasive));
			cmd.Parameters.Add(new SqlParameter("@TourniquetBegin1",operationRecordInstrumentList.TourniquetBegin1==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetBegin1));
			cmd.Parameters.Add(new SqlParameter("@TourniquetEnd1",operationRecordInstrumentList.TourniquetEnd1==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetEnd1));
			cmd.Parameters.Add(new SqlParameter("@TourniquetBegin2",operationRecordInstrumentList.TourniquetBegin2==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetBegin2));
			cmd.Parameters.Add(new SqlParameter("@TourniquetEnd2",operationRecordInstrumentList.TourniquetEnd2==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetEnd2));
			cmd.Parameters.Add(new SqlParameter("@TourniquetBegin3",operationRecordInstrumentList.TourniquetBegin3==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetBegin3));
			cmd.Parameters.Add(new SqlParameter("@TourniquetEnd3",operationRecordInstrumentList.TourniquetEnd3==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetEnd3));
			cmd.Parameters.Add(new SqlParameter("@TourniquetPosition",operationRecordInstrumentList.TourniquetPosition==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetPosition));
			cmd.Parameters.Add(new SqlParameter("@NegativePlatePosition",operationRecordInstrumentList.NegativePlatePosition==null?(object)DBNull.Value:(object)operationRecordInstrumentList.NegativePlatePosition));
			cmd.Parameters.Add(new SqlParameter("@InWardTime",operationRecordInstrumentList.InWardTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InWardTime));
			cmd.Parameters.Add(new SqlParameter("@EMRInfo",operationRecordInstrumentList.EMRInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.EMRInfo));
			cmd.Parameters.Add(new SqlParameter("@Consciousness",operationRecordInstrumentList.Consciousness==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Consciousness));
			cmd.Parameters.Add(new SqlParameter("@BloodPressure",operationRecordInstrumentList.BloodPressure==null?(object)DBNull.Value:(object)operationRecordInstrumentList.BloodPressure));
			cmd.Parameters.Add(new SqlParameter("@Pulse",operationRecordInstrumentList.Pulse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Pulse));
			cmd.Parameters.Add(new SqlParameter("@Breathing",operationRecordInstrumentList.Breathing==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Breathing));
			cmd.Parameters.Add(new SqlParameter("@SkinType",operationRecordInstrumentList.SkinType==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SkinType));
			cmd.Parameters.Add(new SqlParameter("@HbsAg",operationRecordInstrumentList.HbsAg==null?(object)DBNull.Value:(object)operationRecordInstrumentList.HbsAg));
			cmd.Parameters.Add(new SqlParameter("@afterSkinStatus",operationRecordInstrumentList.AfterSkinStatus==null?(object)DBNull.Value:(object)operationRecordInstrumentList.AfterSkinStatus));
			cmd.Parameters.Add(new SqlParameter("@drainage",operationRecordInstrumentList.Drainage==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Drainage));
			cmd.Parameters.Add(new SqlParameter("@InBloodPosition",operationRecordInstrumentList.InBloodPosition==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodPosition));
			cmd.Parameters.Add(new SqlParameter("@AsepticBagMonitor",operationRecordInstrumentList.AsepticBagMonitor==null?(object)DBNull.Value:(object)operationRecordInstrumentList.AsepticBagMonitor));
			cmd.Parameters.Add(new SqlParameter("@DrugAllergy",operationRecordInstrumentList.DrugAllergy==null?(object)DBNull.Value:(object)operationRecordInstrumentList.DrugAllergy));
			cmd.Parameters.Add(new SqlParameter("@OperationDoctor",operationRecordInstrumentList.OperationDoctor==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationDoctor));
			cmd.Parameters.Add(new SqlParameter("@InstrumentNurse",operationRecordInstrumentList.InstrumentNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InstrumentNurse));
			cmd.Parameters.Add(new SqlParameter("@InstrumentNurseSucceed",operationRecordInstrumentList.InstrumentNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InstrumentNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@InstrumentNurseSucceedTime",operationRecordInstrumentList.InstrumentNurseSucceedTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InstrumentNurseSucceedTime));
			cmd.Parameters.Add(new SqlParameter("@TourNurse",operationRecordInstrumentList.TourNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourNurse));
			cmd.Parameters.Add(new SqlParameter("@TourNurseSucceed",operationRecordInstrumentList.TourNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@TourNurseSucceedTime",operationRecordInstrumentList.TourNurseSucceedTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourNurseSucceedTime));
			cmd.Parameters.Add(new SqlParameter("@OutInstrumentNurse",operationRecordInstrumentList.OutInstrumentNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutInstrumentNurse));
			cmd.Parameters.Add(new SqlParameter("@OutInstrumentNurseSucceed",operationRecordInstrumentList.OutInstrumentNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutInstrumentNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@OutTourNurse",operationRecordInstrumentList.OutTourNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutTourNurse));
			cmd.Parameters.Add(new SqlParameter("@OutTourNurseSucceed",operationRecordInstrumentList.OutTourNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutTourNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@OtherInfo",operationRecordInstrumentList.OtherInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OtherInfo));
			cmd.Parameters.Add(new SqlParameter("@OperationNurse",operationRecordInstrumentList.OperationNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationNurse));
			cmd.Parameters.Add(new SqlParameter("@WardNurse",operationRecordInstrumentList.WardNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.WardNurse));
			return Convert.ToInt32(cmd.ExecuteScalar());
		}
	    /// 
        /// 不使用事务的插入方法
        /// 
        /// 实体类对象
        /// 标识列值或影响的记录行数
	    internal static int Insert(OperationRecordInstrumentList operationRecordInstrumentList)
		{
			using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
			{
				conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return Insert(cmd, operationRecordInstrumentList);
                }
			}
		}
		
		/// 
        /// 使用事务的插入方法
        /// 
        /// 实现共享Connection的对象
        /// 实体类对象
        /// 标识列值或影响的记录行数
        internal static int Insert(Connection connection,OperationRecordInstrumentList operationRecordInstrumentList)
        {
            return Insert(connection.Command, operationRecordInstrumentList);
        }
		#endregion
		
		#region 删除实体操作
		
		/// 
        /// 删除
        /// 
		/// Command对象
        /// 实体类对象
        /// 影响的记录行数
		internal static int ExcuteDeleteCommand(SqlCommand cmd, OperationRecordInstrumentList operationRecordInstrumentList)
        {
			cmd.Parameters.Clear();
            cmd.CommandText = "delete from OperationRecordInstrumentList where Id=@Id";
            //从实体中取出值放入Command的参数列表
		    cmd.Parameters.Add(new SqlParameter("@Id", operationRecordInstrumentList.Id));
            return cmd.ExecuteNonQuery();
        }
		/// 
        /// 不使用事务的删除方法
        /// 
        /// 实体类对象
        /// 影响的记录行数
        internal static int Delete(OperationRecordInstrumentList operationRecordInstrumentList)
        {
            using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteDeleteCommand(cmd, operationRecordInstrumentList);
                }
            }
        }
		/// 
        /// 使用事务的删除方法
        /// 
        /// 实现共享Connection的对象
        /// 实体类对象
        /// 影响的记录行数
        internal static int Delete(Connection connection,OperationRecordInstrumentList operationRecordInstrumentList)
        {
            return  ExcuteDeleteCommand(connection.Command, operationRecordInstrumentList);
		}
		
		/// 
        /// 执行删除命令
        /// 
        /// Command对象
        /// 对象查询语句
        /// 参数列表
        /// 影响的记录行数
        internal static int ExcuteDeleteCommand(SqlCommand cmd, string oql, ParameterList parameters)
        {
            //解析过滤部份Sql语句
            string filterString = SyntaxAnalyzer.ParseSql(oql, new OperationRecordInstrumentListMap());
            if (filterString != string.Empty)
            {
                filterString = " where " + filterString;
            }
            cmd.Parameters.Clear();
            cmd.CommandText = "delete from OperationRecordInstrumentList " + filterString;
            //添加参数
            if (parameters != null)
            {
                foreach (string key in parameters.Keys)
                {
                    cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
                }
            }
            return cmd.ExecuteNonQuery();
        }
		
		/// 
        /// 不使用事务的删除方法
        /// 
        /// 对象查询语句
        /// 参数列表
        /// 影响的记录行数
        internal static int Delete(string oql, ParameterList parameters)
        {
            using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteDeleteCommand(cmd, oql, parameters);
                }
            }
        }
		
		/// 
        /// 使用事务的删除方法
        /// 
        /// 实现共享Connection的对象
        /// 对象查询语句
        /// 参数列表
        /// 影响的记录行数
        internal static int Delete(Connection connection, string oql, ParameterList parameters)
        {
            return ExcuteDeleteCommand(connection.Command, oql, parameters);
        }
		
		#endregion
		
		#region 更新实体操作
		
		/// 
        /// 更新
        /// 
		/// Command对象
        /// 实体类对象
        /// 影响的记录行数
		internal static int ExcuteUpdateCommand(SqlCommand cmd, OperationRecordInstrumentList operationRecordInstrumentList)
		{
		    cmd.CommandText = "update OperationRecordInstrumentList set OperationRecordId=@OperationRecordId,ApplianceUseType=@ApplianceUseType,TagPicture=@TagPicture,Remark=@Remark,JsonTextData=@JsonTextData,OperatorNo=@OperatorNo,OperatorName=@OperatorName,OperateDate=@OperateDate,OperationName=@OperationName,OperationNameRermark=@OperationNameRermark,DiseaseName=@DiseaseName,OperationSite=@OperationSite,SkinBackInfo=@SkinBackInfo,BeforSkinInfo=@BeforSkinInfo,DeepVeniPuncture=@DeepVeniPuncture,SpecialInfected=@SpecialInfected,GastricCanal=@GastricCanal,Catheterization=@Catheterization,InBloodType=@InBloodType,InBloodName=@InBloodName,InBloodXXB=@InBloodXXB,InBloodXFHXB=@InBloodXFHXB,InBloodXJ=@InBloodXJ,InBloodLCD=@InBloodLCD,InBloodZTX=@InBloodZTX,InBloodQT=@InBloodQT,InBloodDose=@InBloodDose,veinInfuse=@veinInfuse,InDose=@InDose,OutDose=@OutDose,ImagingData=@ImagingData,Specimen=@Specimen,SpecimenCount=@SpecimenCount,PathologyCount=@PathologyCount,SpecimenState=@SpecimenState,SpecimanToFrozen=@SpecimanToFrozen,specimanToPathology=@specimanToPathology,SubmitForInspection=@SubmitForInspection,SubmitPerson=@SubmitPerson,OpeOutState=@OpeOutState,OpeSpecialGoods=@OpeSpecialGoods,SpecialProblems=@SpecialProblems,antibioticUserTime=@antibioticUserTime,BeforInvasive=@BeforInvasive,TourniquetBegin1=@TourniquetBegin1,TourniquetEnd1=@TourniquetEnd1,TourniquetBegin2=@TourniquetBegin2,TourniquetEnd2=@TourniquetEnd2,TourniquetBegin3=@TourniquetBegin3,TourniquetEnd3=@TourniquetEnd3,TourniquetPosition=@TourniquetPosition,NegativePlatePosition=@NegativePlatePosition,InWardTime=@InWardTime,EMRInfo=@EMRInfo,Consciousness=@Consciousness,BloodPressure=@BloodPressure,Pulse=@Pulse,Breathing=@Breathing,SkinType=@SkinType,HbsAg=@HbsAg,afterSkinStatus=@afterSkinStatus,drainage=@drainage,InBloodPosition=@InBloodPosition,AsepticBagMonitor=@AsepticBagMonitor,DrugAllergy=@DrugAllergy,OperationDoctor=@OperationDoctor,InstrumentNurse=@InstrumentNurse,InstrumentNurseSucceed=@InstrumentNurseSucceed,InstrumentNurseSucceedTime=@InstrumentNurseSucceedTime,TourNurse=@TourNurse,TourNurseSucceed=@TourNurseSucceed,TourNurseSucceedTime=@TourNurseSucceedTime,OutInstrumentNurse=@OutInstrumentNurse,OutInstrumentNurseSucceed=@OutInstrumentNurseSucceed,OutTourNurse=@OutTourNurse,OutTourNurseSucceed=@OutTourNurseSucceed,OtherInfo=@OtherInfo,OperationNurse=@OperationNurse,WardNurse=@WardNurse where Id=@Id";
			//从实体中取出值放入Command的参数列表
			cmd.Parameters.Add(new SqlParameter("@OperationRecordId",operationRecordInstrumentList.OperationRecordId.HasValue?(object)operationRecordInstrumentList.OperationRecordId.Value:(object)DBNull.Value));
			cmd.Parameters.Add(new SqlParameter("@ApplianceUseType",operationRecordInstrumentList.ApplianceUseType==null?(object)DBNull.Value:(object)operationRecordInstrumentList.ApplianceUseType));
			cmd.Parameters.Add(new SqlParameter("@TagPicture",operationRecordInstrumentList.TagPicture==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TagPicture));
			cmd.Parameters.Add(new SqlParameter("@Remark",operationRecordInstrumentList.Remark==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Remark));
			cmd.Parameters.Add(new SqlParameter("@JsonTextData",operationRecordInstrumentList.JsonTextData==null?(object)DBNull.Value:(object)operationRecordInstrumentList.JsonTextData));
			cmd.Parameters.Add(new SqlParameter("@OperatorNo",operationRecordInstrumentList.OperatorNo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperatorNo));
			cmd.Parameters.Add(new SqlParameter("@OperatorName",operationRecordInstrumentList.OperatorName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperatorName));
			cmd.Parameters.Add(new SqlParameter("@OperateDate",operationRecordInstrumentList.OperateDate.HasValue?(object)operationRecordInstrumentList.OperateDate.Value:(object)DBNull.Value));
			cmd.Parameters.Add(new SqlParameter("@OperationName",operationRecordInstrumentList.OperationName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationName));
			cmd.Parameters.Add(new SqlParameter("@OperationNameRermark",operationRecordInstrumentList.OperationNameRermark==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationNameRermark));
			cmd.Parameters.Add(new SqlParameter("@DiseaseName",operationRecordInstrumentList.DiseaseName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.DiseaseName));
			cmd.Parameters.Add(new SqlParameter("@OperationSite",operationRecordInstrumentList.OperationSite==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationSite));
			cmd.Parameters.Add(new SqlParameter("@SkinBackInfo",operationRecordInstrumentList.SkinBackInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SkinBackInfo));
			cmd.Parameters.Add(new SqlParameter("@BeforSkinInfo",operationRecordInstrumentList.BeforSkinInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.BeforSkinInfo));
			cmd.Parameters.Add(new SqlParameter("@DeepVeniPuncture",operationRecordInstrumentList.DeepVeniPuncture==null?(object)DBNull.Value:(object)operationRecordInstrumentList.DeepVeniPuncture));
			cmd.Parameters.Add(new SqlParameter("@SpecialInfected",operationRecordInstrumentList.SpecialInfected==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecialInfected));
			cmd.Parameters.Add(new SqlParameter("@GastricCanal",operationRecordInstrumentList.GastricCanal==null?(object)DBNull.Value:(object)operationRecordInstrumentList.GastricCanal));
			cmd.Parameters.Add(new SqlParameter("@Catheterization",operationRecordInstrumentList.Catheterization==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Catheterization));
			cmd.Parameters.Add(new SqlParameter("@InBloodType",operationRecordInstrumentList.InBloodType==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodType));
			cmd.Parameters.Add(new SqlParameter("@InBloodName",operationRecordInstrumentList.InBloodName==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodName));
			cmd.Parameters.Add(new SqlParameter("@InBloodXXB",operationRecordInstrumentList.InBloodXXB==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodXXB));
			cmd.Parameters.Add(new SqlParameter("@InBloodXFHXB",operationRecordInstrumentList.InBloodXFHXB==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodXFHXB));
			cmd.Parameters.Add(new SqlParameter("@InBloodXJ",operationRecordInstrumentList.InBloodXJ==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodXJ));
			cmd.Parameters.Add(new SqlParameter("@InBloodLCD",operationRecordInstrumentList.InBloodLCD==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodLCD));
			cmd.Parameters.Add(new SqlParameter("@InBloodZTX",operationRecordInstrumentList.InBloodZTX==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodZTX));
			cmd.Parameters.Add(new SqlParameter("@InBloodQT",operationRecordInstrumentList.InBloodQT==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodQT));
			cmd.Parameters.Add(new SqlParameter("@InBloodDose",operationRecordInstrumentList.InBloodDose==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodDose));
			cmd.Parameters.Add(new SqlParameter("@veinInfuse",operationRecordInstrumentList.VeinInfuse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.VeinInfuse));
			cmd.Parameters.Add(new SqlParameter("@InDose",operationRecordInstrumentList.InDose==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InDose));
			cmd.Parameters.Add(new SqlParameter("@OutDose",operationRecordInstrumentList.OutDose==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutDose));
			cmd.Parameters.Add(new SqlParameter("@ImagingData",operationRecordInstrumentList.ImagingData==null?(object)DBNull.Value:(object)operationRecordInstrumentList.ImagingData));
			cmd.Parameters.Add(new SqlParameter("@Specimen",operationRecordInstrumentList.Specimen==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Specimen));
			cmd.Parameters.Add(new SqlParameter("@SpecimenCount",operationRecordInstrumentList.SpecimenCount==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimenCount));
			cmd.Parameters.Add(new SqlParameter("@PathologyCount",operationRecordInstrumentList.PathologyCount==null?(object)DBNull.Value:(object)operationRecordInstrumentList.PathologyCount));
			cmd.Parameters.Add(new SqlParameter("@SpecimenState",operationRecordInstrumentList.SpecimenState==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimenState));
			cmd.Parameters.Add(new SqlParameter("@SpecimanToFrozen",operationRecordInstrumentList.SpecimanToFrozen==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimanToFrozen));
			cmd.Parameters.Add(new SqlParameter("@specimanToPathology",operationRecordInstrumentList.SpecimanToPathology==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecimanToPathology));
			cmd.Parameters.Add(new SqlParameter("@SubmitForInspection",operationRecordInstrumentList.SubmitForInspection==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SubmitForInspection));
			cmd.Parameters.Add(new SqlParameter("@SubmitPerson",operationRecordInstrumentList.SubmitPerson==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SubmitPerson));
			cmd.Parameters.Add(new SqlParameter("@OpeOutState",operationRecordInstrumentList.OpeOutState==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OpeOutState));
			cmd.Parameters.Add(new SqlParameter("@OpeSpecialGoods",operationRecordInstrumentList.OpeSpecialGoods==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OpeSpecialGoods));
			cmd.Parameters.Add(new SqlParameter("@SpecialProblems",operationRecordInstrumentList.SpecialProblems==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SpecialProblems));
			cmd.Parameters.Add(new SqlParameter("@antibioticUserTime",operationRecordInstrumentList.AntibioticUserTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.AntibioticUserTime));
			cmd.Parameters.Add(new SqlParameter("@BeforInvasive",operationRecordInstrumentList.BeforInvasive==null?(object)DBNull.Value:(object)operationRecordInstrumentList.BeforInvasive));
			cmd.Parameters.Add(new SqlParameter("@TourniquetBegin1",operationRecordInstrumentList.TourniquetBegin1==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetBegin1));
			cmd.Parameters.Add(new SqlParameter("@TourniquetEnd1",operationRecordInstrumentList.TourniquetEnd1==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetEnd1));
			cmd.Parameters.Add(new SqlParameter("@TourniquetBegin2",operationRecordInstrumentList.TourniquetBegin2==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetBegin2));
			cmd.Parameters.Add(new SqlParameter("@TourniquetEnd2",operationRecordInstrumentList.TourniquetEnd2==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetEnd2));
			cmd.Parameters.Add(new SqlParameter("@TourniquetBegin3",operationRecordInstrumentList.TourniquetBegin3==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetBegin3));
			cmd.Parameters.Add(new SqlParameter("@TourniquetEnd3",operationRecordInstrumentList.TourniquetEnd3==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetEnd3));
			cmd.Parameters.Add(new SqlParameter("@TourniquetPosition",operationRecordInstrumentList.TourniquetPosition==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourniquetPosition));
			cmd.Parameters.Add(new SqlParameter("@NegativePlatePosition",operationRecordInstrumentList.NegativePlatePosition==null?(object)DBNull.Value:(object)operationRecordInstrumentList.NegativePlatePosition));
			cmd.Parameters.Add(new SqlParameter("@InWardTime",operationRecordInstrumentList.InWardTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InWardTime));
			cmd.Parameters.Add(new SqlParameter("@EMRInfo",operationRecordInstrumentList.EMRInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.EMRInfo));
			cmd.Parameters.Add(new SqlParameter("@Consciousness",operationRecordInstrumentList.Consciousness==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Consciousness));
			cmd.Parameters.Add(new SqlParameter("@BloodPressure",operationRecordInstrumentList.BloodPressure==null?(object)DBNull.Value:(object)operationRecordInstrumentList.BloodPressure));
			cmd.Parameters.Add(new SqlParameter("@Pulse",operationRecordInstrumentList.Pulse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Pulse));
			cmd.Parameters.Add(new SqlParameter("@Breathing",operationRecordInstrumentList.Breathing==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Breathing));
			cmd.Parameters.Add(new SqlParameter("@SkinType",operationRecordInstrumentList.SkinType==null?(object)DBNull.Value:(object)operationRecordInstrumentList.SkinType));
			cmd.Parameters.Add(new SqlParameter("@HbsAg",operationRecordInstrumentList.HbsAg==null?(object)DBNull.Value:(object)operationRecordInstrumentList.HbsAg));
			cmd.Parameters.Add(new SqlParameter("@afterSkinStatus",operationRecordInstrumentList.AfterSkinStatus==null?(object)DBNull.Value:(object)operationRecordInstrumentList.AfterSkinStatus));
			cmd.Parameters.Add(new SqlParameter("@drainage",operationRecordInstrumentList.Drainage==null?(object)DBNull.Value:(object)operationRecordInstrumentList.Drainage));
			cmd.Parameters.Add(new SqlParameter("@InBloodPosition",operationRecordInstrumentList.InBloodPosition==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InBloodPosition));
			cmd.Parameters.Add(new SqlParameter("@AsepticBagMonitor",operationRecordInstrumentList.AsepticBagMonitor==null?(object)DBNull.Value:(object)operationRecordInstrumentList.AsepticBagMonitor));
			cmd.Parameters.Add(new SqlParameter("@DrugAllergy",operationRecordInstrumentList.DrugAllergy==null?(object)DBNull.Value:(object)operationRecordInstrumentList.DrugAllergy));
			cmd.Parameters.Add(new SqlParameter("@OperationDoctor",operationRecordInstrumentList.OperationDoctor==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationDoctor));
			cmd.Parameters.Add(new SqlParameter("@InstrumentNurse",operationRecordInstrumentList.InstrumentNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InstrumentNurse));
			cmd.Parameters.Add(new SqlParameter("@InstrumentNurseSucceed",operationRecordInstrumentList.InstrumentNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InstrumentNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@InstrumentNurseSucceedTime",operationRecordInstrumentList.InstrumentNurseSucceedTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.InstrumentNurseSucceedTime));
			cmd.Parameters.Add(new SqlParameter("@TourNurse",operationRecordInstrumentList.TourNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourNurse));
			cmd.Parameters.Add(new SqlParameter("@TourNurseSucceed",operationRecordInstrumentList.TourNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@TourNurseSucceedTime",operationRecordInstrumentList.TourNurseSucceedTime==null?(object)DBNull.Value:(object)operationRecordInstrumentList.TourNurseSucceedTime));
			cmd.Parameters.Add(new SqlParameter("@OutInstrumentNurse",operationRecordInstrumentList.OutInstrumentNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutInstrumentNurse));
			cmd.Parameters.Add(new SqlParameter("@OutInstrumentNurseSucceed",operationRecordInstrumentList.OutInstrumentNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutInstrumentNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@OutTourNurse",operationRecordInstrumentList.OutTourNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutTourNurse));
			cmd.Parameters.Add(new SqlParameter("@OutTourNurseSucceed",operationRecordInstrumentList.OutTourNurseSucceed==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OutTourNurseSucceed));
			cmd.Parameters.Add(new SqlParameter("@OtherInfo",operationRecordInstrumentList.OtherInfo==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OtherInfo));
			cmd.Parameters.Add(new SqlParameter("@OperationNurse",operationRecordInstrumentList.OperationNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.OperationNurse));
			cmd.Parameters.Add(new SqlParameter("@WardNurse",operationRecordInstrumentList.WardNurse==null?(object)DBNull.Value:(object)operationRecordInstrumentList.WardNurse));
			cmd.Parameters.Add(new SqlParameter("@Id", operationRecordInstrumentList.Id));
            return cmd.ExecuteNonQuery();
		}
		
		/// 
        /// 不使用事务的更新方法
        /// 
        /// 实体类对象
        /// 影响的记录行数
	    internal static int Update(OperationRecordInstrumentList operationRecordInstrumentList)
		{
			using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
			{
				conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteUpdateCommand(cmd, operationRecordInstrumentList);
                }
			}
		}
		/// 
        /// 使用事务的更新方法
        /// 
        /// 实现共享Connection的对象
        /// 实体类对象
        /// 影响的记录行数
        internal static int Update(Connection connection,OperationRecordInstrumentList operationRecordInstrumentList)
        {
            return ExcuteUpdateCommand(connection.Command, operationRecordInstrumentList);
		}
		/// 
        /// 执行更新命令
        /// 
        /// Command对象
        /// 对象查询语句
        /// 参数列表
        /// 影响的记录行数
        internal static int ExcuteUpdateCommand(SqlCommand cmd, string oql, ParameterList parameters)
        {
            //解析过滤部份Sql语句
            string updateString = SyntaxAnalyzer.ParseSql(oql, new OperationRecordInstrumentListMap());
            cmd.CommandText = "update OperationRecordInstrumentList set " + updateString;
			cmd.Parameters.Clear();
            //添加参数
            if (parameters != null)
            {
                foreach (string key in parameters.Keys)
                {
                    cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
                }
            }
            return cmd.ExecuteNonQuery();
        }
		
		/// 
        /// 不使用事务的更新方法
        /// 
        /// 对象查询语句
        /// 参数列表
        /// 影响的记录行数
        internal static int Update(string oql, ParameterList parameters)
        {
            using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteUpdateCommand(cmd, oql, parameters);
                }
            }
        }
		
		/// 
        /// 使用事务的更新方法
        /// 
        /// 实现共享Connection的对象
        /// 对象查询语句
        /// 参数列表
        /// 影响的记录行数
        internal static int Update(Connection connection, string oql, ParameterList parameters)
        {
            return ExcuteUpdateCommand(connection.Command, oql, parameters);
        }
		#endregion
		
		#region 查询实体集合
		/// 
        /// 执行Command获取对象列表
        /// 
        /// Command对象
		/// 递归类型
        /// 递归深度
        /// 实体类对象列表
        internal static List ExcuteSelectCommand(SqlCommand cmd,RecursiveType recursiveType,int recursiveDepth)
        {
            List operationRecordInstrumentListList = new List();
            using (SqlDataReader dr = cmd.ExecuteReader())
            {
                while (dr.Read())
                {
                    OperationRecordInstrumentList operationRecordInstrumentList = DataReaderToEntity(dr);
                    operationRecordInstrumentListList.Add(operationRecordInstrumentList);
                }
            }
			return operationRecordInstrumentListList;
        }
		/// 
        /// 执行查询命令
        /// 
        /// Command对象
        /// 对象查询语句
        /// 参数列表
		/// 递归类型
        /// 递归深度
        /// 实体类对象集合
        internal static List ExcuteSelectCommand(SqlCommand cmd, string oql, ParameterList parameters,RecursiveType recursiveType,int recursiveDepth)
        {
            //解析过滤部份Sql语句
            string filterString = SyntaxAnalyzer.ParseSql(oql, new OperationRecordInstrumentListMap());
            if (filterString != string.Empty)
            {
				if(filterString.Trim().ToLower().IndexOf("order ")!=0)
                	filterString = " where " + filterString;
            }
            cmd.Parameters.Clear();
            cmd.CommandText = "select * from OperationRecordInstrumentList " + filterString;
            //添加参数
            if (parameters != null)
            {
                foreach (string key in parameters.Keys)
                {
                    cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
                }
            }
            return ExcuteSelectCommand(cmd, recursiveType, recursiveDepth);
        }
		
		/// 
        /// 根据对象查询语句查询实体集合
        /// 
        /// 实体类对象集合
        internal static List Select()
        {
			using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from OperationRecordInstrumentList";
                    return ExcuteSelectCommand(cmd, RecursiveType.Parent, 1);
                }
            }
        }
		/// 
        /// 根据对象查询语句查询实体集合
        /// 
		/// 递归类型
        /// 递归深度
        /// 实体类对象集合
        internal static List Select(RecursiveType recursiveType, int recursiveDepth)
        {
			using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from OperationRecordInstrumentList";
                    return ExcuteSelectCommand(cmd, recursiveType, recursiveDepth);
                }
            }
        }
		
		/// 
        /// 根据对象查询语句查询实体集合
        /// 
        /// 对象查询语句
        /// 参数列表
        /// 实体类对象集合
        internal static List Select(string oql, ParameterList parameters)
        {
			using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteSelectCommand(cmd, oql, parameters, RecursiveType.Parent, 1);
                }
            }
        }
		
		/// 
        /// 根据对象查询语句查询实体集合
        /// 
        /// 对象查询语句
        /// 参数列表
		/// 递归类型
        /// 递归深度
        /// 实体类对象集合
        internal static List Select(string oql, ParameterList parameters,RecursiveType recursiveType, int recursiveDepth)
        {
			using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteSelectCommand(cmd, oql, parameters, recursiveType, recursiveDepth);
                }
            }
        }
		
		/// 
        /// 根据对象查询语句查询实体集合(启用事务)
        /// 
        /// 连接对象
        /// 对象查询语句
        /// 参数列表
		/// 递归类型
        /// 递归深度
        /// 实体类对象集合
        internal static List Select(Connection connection, string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
        {
            return ExcuteSelectCommand(connection.Command, oql, parameters,recursiveType, recursiveDepth);
        }
		#endregion
		
		#region 查询单个实体
		
		/// 
        /// 递归查询单个实体
        /// 
        /// Command对象
		/// 递归类型
        /// 递归深度
        /// 实体对象
		internal static OperationRecordInstrumentList ExcuteSelectSingleCommand(SqlCommand cmd,RecursiveType recursiveType,int recursiveDepth)
		{
			OperationRecordInstrumentList operationRecordInstrumentList=null;
			using (SqlDataReader dr = cmd.ExecuteReader())
            {
			    if(dr.Read())
				    operationRecordInstrumentList = DataReaderToEntity(dr);
			}
			if(operationRecordInstrumentList==null)
			    return operationRecordInstrumentList;
            return operationRecordInstrumentList;
		}
		/// 
        /// 更据对象查询语句递归查询单个实体
        /// 
        /// Command对象
        /// 对象查询语句
        /// 参数列表
		/// 递归类型
        /// 递归深度
        /// 实体对象
        internal static OperationRecordInstrumentList ExcuteSelectSingleCommand(SqlCommand cmd, string oql, ParameterList parameters,RecursiveType recursiveType,int recursiveDepth)
        {
            //解析过滤部份Sql语句
            string filterString = SyntaxAnalyzer.ParseSql(oql, new OperationRecordInstrumentListMap());
			if(filterString!=string.Empty)
			{
			    filterString=" where "+filterString;
			}
            cmd.CommandText = "select * from OperationRecordInstrumentList " + filterString;
			cmd.Parameters.Clear();
            //添加参数
            if (parameters != null)
            {
                foreach (string key in parameters.Keys)
                {
                    cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
                }
            }
            return ExcuteSelectSingleCommand(cmd, recursiveType, recursiveDepth);
        }
				
		/// 
        /// 更据对象查询语句递归查询单个实体
        /// 
        /// Command对象
        /// 对象查询语句
        /// 参数列表
		/// 递归类型
        /// 递归深度
        /// 实体对象
        internal static OperationRecordInstrumentList SelectSingle(string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
        {
            using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return ExcuteSelectSingleCommand(cmd, oql, parameters, recursiveType, recursiveDepth);
                }   
            } 
        }
		
		/// 
        /// 更据对象查询语句查询单个实体
        /// 
        /// Command对象
        /// 对象查询语句
        /// 参数列表
        /// 实体对象
        internal static OperationRecordInstrumentList SelectSingle(string oql, ParameterList parameters)
        {
            return SelectSingle(oql,parameters,RecursiveType.Parent,1);
        }
		
		/// 
        /// 更据对象查询语句并启用事务查询单个实体
        /// 
        /// 连接对象
        /// 对象查询语句
        /// 参数列表
        /// 实体对象
        internal static OperationRecordInstrumentList SelectSingle(Connection connection, string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
        {
            return ExcuteSelectSingleCommand(connection.Command, oql, parameters, recursiveType, recursiveDepth);
        }
		
		/// 
        /// 更据主键值递归查询单个实体
        /// 
        /// Command对象
        /// 主键值
		/// 递归类型
        /// 递归深度
        /// 实体对象
        internal static OperationRecordInstrumentList SelectSingle(SqlCommand cmd, int? id,RecursiveType recursiveType,int recursiveDepth)
		{
		    cmd.Parameters.Clear();
			if(id.HasValue)
			{
		    	cmd.CommandText = "select * from OperationRecordInstrumentList where Id=@pk";
				cmd.Parameters.Add(new SqlParameter("@pk",id.Value));
			}
			else
			{
			    cmd.CommandText = "select * from OperationRecordInstrumentList where Id is null";
			}
			return ExcuteSelectSingleCommand(cmd, recursiveType, recursiveDepth);
		}
		
		/// 
        /// 按主键字段查询特定实体
        /// 
        /// 主键值
        /// 实体类对象
        internal static OperationRecordInstrumentList SelectSingle(int? id)
        {
            using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return SelectSingle(cmd,id,RecursiveType.Parent,1);
                }   
            } 
        }
		/// 
        /// 按主键字段查询特定实体
        /// 
        /// 主键值
		/// 递归类型
        /// 递归深度
        /// 实体类对象
        internal static OperationRecordInstrumentList SelectSingle(int? id, RecursiveType recursiveType, int recursiveDepth)
        {
            using(SqlConnection conn=new SqlConnection(Connection.ConnectionString))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    return SelectSingle(cmd,id, recursiveType, recursiveDepth);
                }   
            } 
        }
		
		/// 
        /// 使用事务并按主键字段查询特定实体
        /// 
		/// 连接对象
        /// 主键值
        /// 实体类对象
        internal static OperationRecordInstrumentList SelectSingle(Connection connection,int? id, RecursiveType recursiveType, int recursiveDepth)
        {
			return SelectSingle(connection.Command, id, recursiveType, recursiveDepth);
        }
		#endregion
		
				
		/// 
        /// 从DataReader中取出值生成实体对象
        /// 
        /// 查询对象
        /// 过滤条件字符串
		private static OperationRecordInstrumentList DataReaderToEntity(SqlDataReader dr)
		{
		    OperationRecordInstrumentList entity = new OperationRecordInstrumentList ();
			if(dr["Id"]!=System.DBNull.Value)
			{
			    entity.Id=Convert.ToInt32(dr["Id"]);
			}
			if(dr["OperationRecordId"]!=System.DBNull.Value)
			{
			    entity.OperationRecordId=Convert.ToInt32(dr["OperationRecordId"]);
			}
			if(dr["ApplianceUseType"]!=System.DBNull.Value)
			{
			    entity.ApplianceUseType=dr["ApplianceUseType"].ToString();
			}
			if(dr["TagPicture"]!=System.DBNull.Value)
			{
			    entity.TagPicture=dr["TagPicture"].ToString();
			}
			if(dr["Remark"]!=System.DBNull.Value)
			{
			    entity.Remark=dr["Remark"].ToString();
			}
			if(dr["JsonTextData"]!=System.DBNull.Value)
			{
			    entity.JsonTextData=dr["JsonTextData"].ToString();
			}
			if(dr["OperatorNo"]!=System.DBNull.Value)
			{
			    entity.OperatorNo=dr["OperatorNo"].ToString();
			}
			if(dr["OperatorName"]!=System.DBNull.Value)
			{
			    entity.OperatorName=dr["OperatorName"].ToString();
			}
			if(dr["OperateDate"]!=System.DBNull.Value)
			{
			    entity.OperateDate=Convert.ToDateTime(dr["OperateDate"]);
			}
			if(dr["OperationName"]!=System.DBNull.Value)
			{
			    entity.OperationName=dr["OperationName"].ToString();
			}
			if(dr["OperationNameRermark"]!=System.DBNull.Value)
			{
			    entity.OperationNameRermark=dr["OperationNameRermark"].ToString();
			}
			if(dr["DiseaseName"]!=System.DBNull.Value)
			{
			    entity.DiseaseName=dr["DiseaseName"].ToString();
			}
			if(dr["OperationSite"]!=System.DBNull.Value)
			{
			    entity.OperationSite=dr["OperationSite"].ToString();
			}
			if(dr["SkinBackInfo"]!=System.DBNull.Value)
			{
			    entity.SkinBackInfo=dr["SkinBackInfo"].ToString();
			}
			if(dr["BeforSkinInfo"]!=System.DBNull.Value)
			{
			    entity.BeforSkinInfo=dr["BeforSkinInfo"].ToString();
			}
			if(dr["DeepVeniPuncture"]!=System.DBNull.Value)
			{
			    entity.DeepVeniPuncture=dr["DeepVeniPuncture"].ToString();
			}
			if(dr["SpecialInfected"]!=System.DBNull.Value)
			{
			    entity.SpecialInfected=dr["SpecialInfected"].ToString();
			}
			if(dr["GastricCanal"]!=System.DBNull.Value)
			{
			    entity.GastricCanal=dr["GastricCanal"].ToString();
			}
			if(dr["Catheterization"]!=System.DBNull.Value)
			{
			    entity.Catheterization=dr["Catheterization"].ToString();
			}
			if(dr["InBloodType"]!=System.DBNull.Value)
			{
			    entity.InBloodType=dr["InBloodType"].ToString();
			}
			if(dr["InBloodName"]!=System.DBNull.Value)
			{
			    entity.InBloodName=dr["InBloodName"].ToString();
			}
			if(dr["InBloodXXB"]!=System.DBNull.Value)
			{
			    entity.InBloodXXB=dr["InBloodXXB"].ToString();
			}
			if(dr["InBloodXFHXB"]!=System.DBNull.Value)
			{
			    entity.InBloodXFHXB=dr["InBloodXFHXB"].ToString();
			}
			if(dr["InBloodXJ"]!=System.DBNull.Value)
			{
			    entity.InBloodXJ=dr["InBloodXJ"].ToString();
			}
			if(dr["InBloodLCD"]!=System.DBNull.Value)
			{
			    entity.InBloodLCD=dr["InBloodLCD"].ToString();
			}
			if(dr["InBloodZTX"]!=System.DBNull.Value)
			{
			    entity.InBloodZTX=dr["InBloodZTX"].ToString();
			}
			if(dr["InBloodQT"]!=System.DBNull.Value)
			{
			    entity.InBloodQT=dr["InBloodQT"].ToString();
			}
			if(dr["InBloodDose"]!=System.DBNull.Value)
			{
			    entity.InBloodDose=dr["InBloodDose"].ToString();
			}
			if(dr["veinInfuse"]!=System.DBNull.Value)
			{
			    entity.VeinInfuse=dr["veinInfuse"].ToString();
			}
			if(dr["InDose"]!=System.DBNull.Value)
			{
			    entity.InDose=dr["InDose"].ToString();
			}
			if(dr["OutDose"]!=System.DBNull.Value)
			{
			    entity.OutDose=dr["OutDose"].ToString();
			}
			if(dr["ImagingData"]!=System.DBNull.Value)
			{
			    entity.ImagingData=dr["ImagingData"].ToString();
			}
			if(dr["Specimen"]!=System.DBNull.Value)
			{
			    entity.Specimen=dr["Specimen"].ToString();
			}
			if(dr["SpecimenCount"]!=System.DBNull.Value)
			{
			    entity.SpecimenCount=dr["SpecimenCount"].ToString();
			}
			if(dr["PathologyCount"]!=System.DBNull.Value)
			{
			    entity.PathologyCount=dr["PathologyCount"].ToString();
			}
			if(dr["SpecimenState"]!=System.DBNull.Value)
			{
			    entity.SpecimenState=dr["SpecimenState"].ToString();
			}
			if(dr["SpecimanToFrozen"]!=System.DBNull.Value)
			{
			    entity.SpecimanToFrozen=dr["SpecimanToFrozen"].ToString();
			}
			if(dr["specimanToPathology"]!=System.DBNull.Value)
			{
			    entity.SpecimanToPathology=dr["specimanToPathology"].ToString();
			}
			if(dr["SubmitForInspection"]!=System.DBNull.Value)
			{
			    entity.SubmitForInspection=dr["SubmitForInspection"].ToString();
			}
			if(dr["SubmitPerson"]!=System.DBNull.Value)
			{
			    entity.SubmitPerson=dr["SubmitPerson"].ToString();
			}
			if(dr["OpeOutState"]!=System.DBNull.Value)
			{
			    entity.OpeOutState=dr["OpeOutState"].ToString();
			}
			if(dr["OpeSpecialGoods"]!=System.DBNull.Value)
			{
			    entity.OpeSpecialGoods=dr["OpeSpecialGoods"].ToString();
			}
			if(dr["SpecialProblems"]!=System.DBNull.Value)
			{
			    entity.SpecialProblems=dr["SpecialProblems"].ToString();
			}
			if(dr["antibioticUserTime"]!=System.DBNull.Value)
			{
			    entity.AntibioticUserTime=dr["antibioticUserTime"].ToString();
			}
			if(dr["BeforInvasive"]!=System.DBNull.Value)
			{
			    entity.BeforInvasive=dr["BeforInvasive"].ToString();
			}
			if(dr["TourniquetBegin1"]!=System.DBNull.Value)
			{
			    entity.TourniquetBegin1=dr["TourniquetBegin1"].ToString();
			}
			if(dr["TourniquetEnd1"]!=System.DBNull.Value)
			{
			    entity.TourniquetEnd1=dr["TourniquetEnd1"].ToString();
			}
			if(dr["TourniquetBegin2"]!=System.DBNull.Value)
			{
			    entity.TourniquetBegin2=dr["TourniquetBegin2"].ToString();
			}
			if(dr["TourniquetEnd2"]!=System.DBNull.Value)
			{
			    entity.TourniquetEnd2=dr["TourniquetEnd2"].ToString();
			}
			if(dr["TourniquetBegin3"]!=System.DBNull.Value)
			{
			    entity.TourniquetBegin3=dr["TourniquetBegin3"].ToString();
			}
			if(dr["TourniquetEnd3"]!=System.DBNull.Value)
			{
			    entity.TourniquetEnd3=dr["TourniquetEnd3"].ToString();
			}
			if(dr["TourniquetPosition"]!=System.DBNull.Value)
			{
			    entity.TourniquetPosition=dr["TourniquetPosition"].ToString();
			}
			if(dr["NegativePlatePosition"]!=System.DBNull.Value)
			{
			    entity.NegativePlatePosition=dr["NegativePlatePosition"].ToString();
			}
			if(dr["InWardTime"]!=System.DBNull.Value)
			{
			    entity.InWardTime=dr["InWardTime"].ToString();
			}
			if(dr["EMRInfo"]!=System.DBNull.Value)
			{
			    entity.EMRInfo=dr["EMRInfo"].ToString();
			}
			if(dr["Consciousness"]!=System.DBNull.Value)
			{
			    entity.Consciousness=dr["Consciousness"].ToString();
			}
			if(dr["BloodPressure"]!=System.DBNull.Value)
			{
			    entity.BloodPressure=dr["BloodPressure"].ToString();
			}
			if(dr["Pulse"]!=System.DBNull.Value)
			{
			    entity.Pulse=dr["Pulse"].ToString();
			}
			if(dr["Breathing"]!=System.DBNull.Value)
			{
			    entity.Breathing=dr["Breathing"].ToString();
			}
			if(dr["SkinType"]!=System.DBNull.Value)
			{
			    entity.SkinType=dr["SkinType"].ToString();
			}
			if(dr["HbsAg"]!=System.DBNull.Value)
			{
			    entity.HbsAg=dr["HbsAg"].ToString();
			}
			if(dr["afterSkinStatus"]!=System.DBNull.Value)
			{
			    entity.AfterSkinStatus=dr["afterSkinStatus"].ToString();
			}
			if(dr["drainage"]!=System.DBNull.Value)
			{
			    entity.Drainage=dr["drainage"].ToString();
			}
			if(dr["InBloodPosition"]!=System.DBNull.Value)
			{
			    entity.InBloodPosition=dr["InBloodPosition"].ToString();
			}
			if(dr["AsepticBagMonitor"]!=System.DBNull.Value)
			{
			    entity.AsepticBagMonitor=dr["AsepticBagMonitor"].ToString();
			}
			if(dr["DrugAllergy"]!=System.DBNull.Value)
			{
			    entity.DrugAllergy=dr["DrugAllergy"].ToString();
			}
			if(dr["OperationDoctor"]!=System.DBNull.Value)
			{
			    entity.OperationDoctor=dr["OperationDoctor"].ToString();
			}
			if(dr["InstrumentNurse"]!=System.DBNull.Value)
			{
			    entity.InstrumentNurse=dr["InstrumentNurse"].ToString();
			}
			if(dr["InstrumentNurseSucceed"]!=System.DBNull.Value)
			{
			    entity.InstrumentNurseSucceed=dr["InstrumentNurseSucceed"].ToString();
			}
			if(dr["InstrumentNurseSucceedTime"]!=System.DBNull.Value)
			{
			    entity.InstrumentNurseSucceedTime=dr["InstrumentNurseSucceedTime"].ToString();
			}
			if(dr["TourNurse"]!=System.DBNull.Value)
			{
			    entity.TourNurse=dr["TourNurse"].ToString();
			}
			if(dr["TourNurseSucceed"]!=System.DBNull.Value)
			{
			    entity.TourNurseSucceed=dr["TourNurseSucceed"].ToString();
			}
			if(dr["TourNurseSucceedTime"]!=System.DBNull.Value)
			{
			    entity.TourNurseSucceedTime=dr["TourNurseSucceedTime"].ToString();
			}
			if(dr["OutInstrumentNurse"]!=System.DBNull.Value)
			{
			    entity.OutInstrumentNurse=dr["OutInstrumentNurse"].ToString();
			}
			if(dr["OutInstrumentNurseSucceed"]!=System.DBNull.Value)
			{
			    entity.OutInstrumentNurseSucceed=dr["OutInstrumentNurseSucceed"].ToString();
			}
			if(dr["OutTourNurse"]!=System.DBNull.Value)
			{
			    entity.OutTourNurse=dr["OutTourNurse"].ToString();
			}
			if(dr["OutTourNurseSucceed"]!=System.DBNull.Value)
			{
			    entity.OutTourNurseSucceed=dr["OutTourNurseSucceed"].ToString();
			}
			if(dr["OtherInfo"]!=System.DBNull.Value)
			{
			    entity.OtherInfo=dr["OtherInfo"].ToString();
			}
			if(dr["OperationNurse"]!=System.DBNull.Value)
			{
			    entity.OperationNurse=dr["OperationNurse"].ToString();
			}
			if(dr["WardNurse"]!=System.DBNull.Value)
			{
			    entity.WardNurse=dr["WardNurse"].ToString();
			}
			return entity;
		}
	}
}