c#中odp.net 4.0利用odac操作oracle数据库学习(三)

c#中odp.net 4.0利用odac操作oracle数据库学习(三)

简介:上篇文章中我们讲述了odp底层的封装,接下来本文将讲述

         对tm_raw_image_metadata_infos表的单项查询,单项的添加,删除,修改以及批量的添加,删除,修改...

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

RawImageMetaData底层操作类:

对tm_raw_image_metadata_infos表的单项查询,单项的添加,删除,修改以及批量的添加,删除,修改...

这里我去掉了接口和工厂的操作以及分页的操作

/********************************************************
    *文件所属:北京******公司
    *文件名称:原始影像数据的元数据信息管理
    *文件描述:对原始影像数据的元数据信息管理模块所有操作的接口实现类
    *  创建人:PengZhen
    *创建时间:2013-11-26 9:32:45
 ********************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BDSS.DAL.IDAL;
using BDSS.Model.DAL.Model;
using BDSS.Common.DBUtility;
using Oracle.DataAccess.Client;
using System.Reflection;
using System.Collections;
using System.Data;

namespace BDSS.DAL
{
    /// <summary>
    /// 数据访问类:RawImageMetaData
    /// </summary>
    public class RawImageMetaData 
    {
        private ODPHelper objODPHelper = new ODPHelper();

        private StringBuilder strSql;

        private OracleParameter[] parameters;

        #region  BasicMethod

        /// <summary>
        /// 根据数据编号获取原始影像数据的元数据信息实体信息
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 14:10:57</time>
        /// <param name="strId">数据编号</param>
        /// <returns>返回原始影像数据的元数据信息实体信息</returns>
        public RawImageMetaDataInfo GetModel(string ID)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select ID,DATA_NAME,DATAID,SATELLITE_TYPE_CODE,SENSOR_TYPE_CODE,SCENE_ID,SCENE_PATH,SCENE_ROW,SCENE_SHIFT,SCENE_COUNT,SATELLITE_PATH,SATELLITE_ROW,IMAGE_FORMAT,IMAGE_WIDTH,IMAGE_HEIGHT,IMAGE_GDS_CODE,IMAGE_WIDTH_PIXELS,IMAGE_HEIGHT_PIXELS,IMAGE_BANDS,IMAGE_BANDS_COUNT,ORBIT_ID,CLOUDCOVER_CODE,PIXELS_NUMBERS,VALID_PIXELS_BITS,CS_CODE,LOCATOR_UNIT,PROJECTION_CODE,PROJECTION_PARAMS,ZONE_CODE,ZONE_NO,ELEVATION_CODE,SHOOT_ELEVATING_ANGLE,SHOOT_AZIMUTH_ANGLE,ROLLVIEWING_ANGLE,PITCHVIEWING_ANGLE,ROLL_SATELLITE_ANGLE,PITCH_SATELLITE_ANGLE,YAW_SATELLITE_ANGLE,SATELLITEAZIMUTH,SATELLITEZENITH,INTEGRATIONLEVEL,MTFCORRECTION,RELATIVECORRECTIONDATA,SOLAR_ZENITH_ANGLE,SUN_AZIMUTH_ANGLE,GAIN_MODE,RESAMPLE_METHOD,CENTER_POINT_LON,CENTER_POINT_LAT,CENTER_POINT_ELE,TL_LON,TL_LAT,TR_LON,TR_LAT,BR_LON,BR_LAT,BL_LON,BL_LAT,TL_X,TL_Y,TR_X,TR_Y,BR_X,BR_Y,BL_X,BL_Y,PRODUCT_NAME,PRODUCT_SN,PRODUCT_CATEGORY_CODE,PRODUCT_OWNERSHIP_UNIT,PRODUCT_PRODUCTION_UNIT,PRODUCT_CLASS_GRADE_CODE,PRODUCT_QUALITY_GRADE_CODE,PRODUCT_SECURITYLEVEL_CODE,PRODUCT_FORMAT_CODE,PRODUCT_COLLECT_DATE,PRODUCT_CURE_DATE,PRODUCT_ARCHIVE_DATE,PRODUCT_SIZE,PRODUCT_QUALITY_REPORT,PRODUCT_ORDER_NUMBER,PRODUCT_AR_CODE,PRODUCT_STORAGE_PATH,PRODUCT_QUICKVIEW,PRODUCT_THUMB,CREATE_USERID,CREATE_DATE,USED_COUNT,STATUS,REMARKS,sde.st_astext(envelope)ENVELOPE,COLLECT_DATE,COLLECT_DATE_BEGIN,COLLECT_DATE_END,PRODUCT_SIZE_MEASURE,IS_COMPRESSED,PRODUCT_FILES_LIST,T.PRODUCT_USE.getStringVal()PRODUCT_USE from TM_RAW_IMAGE_METADATA_INFOS T");
            strSql.Append(" where ID=:ID ");
            OracleParameter[] parameters = {
					new OracleParameter(":ID", OracleDbType.Varchar2,40)			};
            parameters[0].Value = ID;

            RawImageMetaDataInfo model = new RawImageMetaDataInfo();
            DataSet ds = objODPHelper.Query(strSql.ToString(), parameters);
            if (ds.Tables[0].Rows.Count > 0)
            {
                return DataRowToModel(ds.Tables[0].Rows[0]);
            }
            else
            {
                return null;
            }
        }

        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 14:11:08</time>
        /// <returns>返回原始影像数据的元数据信息实体信息</returns>
        public RawImageMetaDataInfo DataRowToModel(DataRow row)
        {
            RawImageMetaDataInfo model = new RawImageMetaDataInfo();
            if (row != null)
            {
                if (row["ID"] != null)
                {
                    model.ID = row["ID"].ToString();
                }
                if (row["DATA_NAME"] != null)
                {
                    model.DATA_NAME = row["DATA_NAME"].ToString();
                }
                if (row["DATAID"] != null && row["DATAID"].ToString() != "")
                {
                    model.DATAID = int.Parse(row["DATAID"].ToString());
                }
                if (row["SATELLITE_TYPE_CODE"] != null)
                {
                    model.SATELLITE_TYPE_CODE = row["SATELLITE_TYPE_CODE"].ToString();
                }
                if (row["SENSOR_TYPE_CODE"] != null)
                {
                    model.SENSOR_TYPE_CODE = row["SENSOR_TYPE_CODE"].ToString();
                }
                if (row["SCENE_ID"] != null)
                {
                    model.SCENE_ID = row["SCENE_ID"].ToString();
                }
                if (row["SCENE_PATH"] != null && row["SCENE_PATH"].ToString() != "")
                {
                    model.SCENE_PATH = int.Parse(row["SCENE_PATH"].ToString());
                }
                if (row["SCENE_ROW"] != null && row["SCENE_ROW"].ToString() != "")
                {
                    model.SCENE_ROW = int.Parse(row["SCENE_ROW"].ToString());
                }
                if (row["SCENE_SHIFT"] != null && row["SCENE_SHIFT"].ToString() != "")
                {
                    model.SCENE_SHIFT = int.Parse(row["SCENE_SHIFT"].ToString());
                }
                if (row["SCENE_COUNT"] != null && row["SCENE_COUNT"].ToString() != "")
                {
                    model.SCENE_COUNT = int.Parse(row["SCENE_COUNT"].ToString());
                }
                if (row["SATELLITE_PATH"] != null && row["SATELLITE_PATH"].ToString() != "")
                {
                    model.SATELLITE_PATH = int.Parse(row["SATELLITE_PATH"].ToString());
                }
                if (row["SATELLITE_ROW"] != null && row["SATELLITE_ROW"].ToString() != "")
                {
                    model.SATELLITE_ROW = int.Parse(row["SATELLITE_ROW"].ToString());
                }
                if (row["IMAGE_FORMAT"] != null)
                {
                    model.IMAGE_FORMAT = row["IMAGE_FORMAT"].ToString();
                }
                if (row["IMAGE_WIDTH"] != null && row["IMAGE_WIDTH"].ToString() != "")
                {
                    model.IMAGE_WIDTH = int.Parse(row["IMAGE_WIDTH"].ToString());
                }
                if (row["IMAGE_HEIGHT"] != null && row["IMAGE_HEIGHT"].ToString() != "")
                {
                    model.IMAGE_HEIGHT = int.Parse(row["IMAGE_HEIGHT"].ToString());
                }
                if (row["IMAGE_GDS_CODE"] != null)
                {
                    model.IMAGE_GDS_CODE = row["IMAGE_GDS_CODE"].ToString();
                }
                if (row["IMAGE_WIDTH_PIXELS"] != null && row["IMAGE_WIDTH_PIXELS"].ToString() != "")
                {
                    model.IMAGE_WIDTH_PIXELS = int.Parse(row["IMAGE_WIDTH_PIXELS"].ToString());
                }
                if (row["IMAGE_HEIGHT_PIXELS"] != null && row["IMAGE_HEIGHT_PIXELS"].ToString() != "")
                {
                    model.IMAGE_HEIGHT_PIXELS = int.Parse(row["IMAGE_HEIGHT_PIXELS"].ToString());
                }
                if (row["IMAGE_BANDS"] != null)
                {
                    model.IMAGE_BANDS = row["IMAGE_BANDS"].ToString();
                }
                if (row["IMAGE_BANDS_COUNT"] != null && row["IMAGE_BANDS_COUNT"].ToString() != "")
                {
                    model.IMAGE_BANDS_COUNT = int.Parse(row["IMAGE_BANDS_COUNT"].ToString());
                }
                if (row["ORBIT_ID"] != null && row["ORBIT_ID"].ToString() != "")
                {
                    model.ORBIT_ID = int.Parse(row["ORBIT_ID"].ToString());
                }
                if (row["CLOUDCOVER_CODE"] != null)
                {
                    model.CLOUDCOVER_CODE = row["CLOUDCOVER_CODE"].ToString();
                }
                if (row["PIXELS_NUMBERS"] != null && row["PIXELS_NUMBERS"].ToString() != "")
                {
                    model.PIXELS_NUMBERS = int.Parse(row["PIXELS_NUMBERS"].ToString());
                }
                if (row["VALID_PIXELS_BITS"] != null && row["VALID_PIXELS_BITS"].ToString() != "")
                {
                    model.VALID_PIXELS_BITS = int.Parse(row["VALID_PIXELS_BITS"].ToString());
                }
                if (row["CS_CODE"] != null)
                {
                    model.CS_CODE = row["CS_CODE"].ToString();
                }
                if (row["LOCATOR_UNIT"] != null)
                {
                    model.LOCATOR_UNIT = row["LOCATOR_UNIT"].ToString();
                }
                if (row["PROJECTION_CODE"] != null)
                {
                    model.PROJECTION_CODE = row["PROJECTION_CODE"].ToString();
                }
                if (row["PROJECTION_PARAMS"] != null)
                {
                    model.PROJECTION_PARAMS = row["PROJECTION_PARAMS"].ToString();
                }
                if (row["ZONE_CODE"] != null)
                {
                    model.ZONE_CODE = row["ZONE_CODE"].ToString();
                }
                if (row["ZONE_NO"] != null)
                {
                    model.ZONE_NO = row["ZONE_NO"].ToString();
                }
                if (row["ELEVATION_CODE"] != null)
                {
                    model.ELEVATION_CODE = row["ELEVATION_CODE"].ToString();
                }
                if (row["SHOOT_ELEVATING_ANGLE"] != null && row["SHOOT_ELEVATING_ANGLE"].ToString() != "")
                {
                    model.SHOOT_ELEVATING_ANGLE = decimal.Parse(row["SHOOT_ELEVATING_ANGLE"].ToString());
                }
                if (row["SHOOT_AZIMUTH_ANGLE"] != null && row["SHOOT_AZIMUTH_ANGLE"].ToString() != "")
                {
                    model.SHOOT_AZIMUTH_ANGLE = decimal.Parse(row["SHOOT_AZIMUTH_ANGLE"].ToString());
                }
                if (row["ROLLVIEWING_ANGLE"] != null && row["ROLLVIEWING_ANGLE"].ToString() != "")
                {
                    model.ROLLVIEWING_ANGLE = decimal.Parse(row["ROLLVIEWING_ANGLE"].ToString());
                }
                if (row["PITCHVIEWING_ANGLE"] != null && row["PITCHVIEWING_ANGLE"].ToString() != "")
                {
                    model.PITCHVIEWING_ANGLE = decimal.Parse(row["PITCHVIEWING_ANGLE"].ToString());
                }
                if (row["ROLL_SATELLITE_ANGLE"] != null && row["ROLL_SATELLITE_ANGLE"].ToString() != "")
                {
                    model.ROLL_SATELLITE_ANGLE = decimal.Parse(row["ROLL_SATELLITE_ANGLE"].ToString());
                }
                if (row["PITCH_SATELLITE_ANGLE"] != null && row["PITCH_SATELLITE_ANGLE"].ToString() != "")
                {
                    model.PITCH_SATELLITE_ANGLE = decimal.Parse(row["PITCH_SATELLITE_ANGLE"].ToString());
                }
                if (row["YAW_SATELLITE_ANGLE"] != null && row["YAW_SATELLITE_ANGLE"].ToString() != "")
                {
                    model.YAW_SATELLITE_ANGLE = decimal.Parse(row["YAW_SATELLITE_ANGLE"].ToString());
                }
                if (row["SATELLITEAZIMUTH"] != null && row["SATELLITEAZIMUTH"].ToString() != "")
                {
                    model.SATELLITEAZIMUTH = decimal.Parse(row["SATELLITEAZIMUTH"].ToString());
                }
                if (row["SATELLITEZENITH"] != null && row["SATELLITEZENITH"].ToString() != "")
                {
                    model.SATELLITEZENITH = decimal.Parse(row["SATELLITEZENITH"].ToString());
                }
                if (row["INTEGRATIONLEVEL"] != null)
                {
                    model.INTEGRATIONLEVEL = row["INTEGRATIONLEVEL"].ToString();
                }
                if (row["MTFCORRECTION"] != null)
                {
                    model.MTFCORRECTION = row["MTFCORRECTION"].ToString();
                }
                if (row["RELATIVECORRECTIONDATA"] != null)
                {
                    model.RELATIVECORRECTIONDATA = row["RELATIVECORRECTIONDATA"].ToString();
                }
                if (row["SOLAR_ZENITH_ANGLE"] != null && row["SOLAR_ZENITH_ANGLE"].ToString() != "")
                {
                    model.SOLAR_ZENITH_ANGLE = decimal.Parse(row["SOLAR_ZENITH_ANGLE"].ToString());
                }
                if (row["SUN_AZIMUTH_ANGLE"] != null && row["SUN_AZIMUTH_ANGLE"].ToString() != "")
                {
                    model.SUN_AZIMUTH_ANGLE = decimal.Parse(row["SUN_AZIMUTH_ANGLE"].ToString());
                }
                if (row["GAIN_MODE"] != null && row["GAIN_MODE"].ToString() != "")
                {
                    model.GAIN_MODE = decimal.Parse(row["GAIN_MODE"].ToString());
                }
                if (row["RESAMPLE_METHOD"] != null)
                {
                    model.RESAMPLE_METHOD = row["RESAMPLE_METHOD"].ToString();
                }
                if (row["CENTER_POINT_LON"] != null && row["CENTER_POINT_LON"].ToString() != "")
                {
                    model.CENTER_POINT_LON = decimal.Parse(row["CENTER_POINT_LON"].ToString());
                }
                if (row["CENTER_POINT_LAT"] != null && row["CENTER_POINT_LAT"].ToString() != "")
                {
                    model.CENTER_POINT_LAT = decimal.Parse(row["CENTER_POINT_LAT"].ToString());
                }
                if (row["CENTER_POINT_ELE"] != null && row["CENTER_POINT_ELE"].ToString() != "")
                {
                    model.CENTER_POINT_ELE = decimal.Parse(row["CENTER_POINT_ELE"].ToString());
                }
                if (row["TL_LON"] != null && row["TL_LON"].ToString() != "")
                {
                    model.TL_LON = decimal.Parse(row["TL_LON"].ToString());
                }
                if (row["TL_LAT"] != null && row["TL_LAT"].ToString() != "")
                {
                    model.TL_LAT = decimal.Parse(row["TL_LAT"].ToString());
                }
                if (row["TR_LON"] != null && row["TR_LON"].ToString() != "")
                {
                    model.TR_LON = decimal.Parse(row["TR_LON"].ToString());
                }
                if (row["TR_LAT"] != null && row["TR_LAT"].ToString() != "")
                {
                    model.TR_LAT = decimal.Parse(row["TR_LAT"].ToString());
                }
                if (row["BR_LON"] != null && row["BR_LON"].ToString() != "")
                {
                    model.BR_LON = decimal.Parse(row["BR_LON"].ToString());
                }
                if (row["BR_LAT"] != null && row["BR_LAT"].ToString() != "")
                {
                    model.BR_LAT = decimal.Parse(row["BR_LAT"].ToString());
                }
                if (row["BL_LON"] != null && row["BL_LON"].ToString() != "")
                {
                    model.BL_LON = decimal.Parse(row["BL_LON"].ToString());
                }
                if (row["BL_LAT"] != null && row["BL_LAT"].ToString() != "")
                {
                    model.BL_LAT = decimal.Parse(row["BL_LAT"].ToString());
                }
                if (row["TL_X"] != null && row["TL_X"].ToString() != "")
                {
                    model.TL_X = decimal.Parse(row["TL_X"].ToString());
                }
                if (row["TL_Y"] != null && row["TL_Y"].ToString() != "")
                {
                    model.TL_Y = decimal.Parse(row["TL_Y"].ToString());
                }
                if (row["TR_X"] != null && row["TR_X"].ToString() != "")
                {
                    model.TR_X = decimal.Parse(row["TR_X"].ToString());
                }
                if (row["TR_Y"] != null && row["TR_Y"].ToString() != "")
                {
                    model.TR_Y = decimal.Parse(row["TR_Y"].ToString());
                }
                if (row["BR_X"] != null && row["BR_X"].ToString() != "")
                {
                    model.BR_X = decimal.Parse(row["BR_X"].ToString());
                }
                if (row["BR_Y"] != null && row["BR_Y"].ToString() != "")
                {
                    model.BR_Y = decimal.Parse(row["BR_Y"].ToString());
                }
                if (row["BL_X"] != null && row["BL_X"].ToString() != "")
                {
                    model.BL_X = decimal.Parse(row["BL_X"].ToString());
                }
                if (row["BL_Y"] != null && row["BL_Y"].ToString() != "")
                {
                    model.BL_Y = decimal.Parse(row["BL_Y"].ToString());
                }
                if (row["PRODUCT_NAME"] != null)
                {
                    model.PRODUCT_NAME = row["PRODUCT_NAME"].ToString();
                }
                if (row["PRODUCT_SN"] != null && row["PRODUCT_SN"].ToString() != "")
                {
                    model.PRODUCT_SN = row["PRODUCT_SN"].ToString();
                }
                if (row["PRODUCT_CATEGORY_CODE"] != null)
                {
                    model.PRODUCT_CATEGORY_CODE = row["PRODUCT_CATEGORY_CODE"].ToString();
                }
                if (row["PRODUCT_OWNERSHIP_UNIT"] != null)
                {
                    model.PRODUCT_OWNERSHIP_UNIT = row["PRODUCT_OWNERSHIP_UNIT"].ToString();
                }
                if (row["PRODUCT_PRODUCTION_UNIT"] != null)
                {
                    model.PRODUCT_PRODUCTION_UNIT = row["PRODUCT_PRODUCTION_UNIT"].ToString();
                }
                if (row["PRODUCT_CLASS_GRADE_CODE"] != null)
                {
                    model.PRODUCT_CLASS_GRADE_CODE = row["PRODUCT_CLASS_GRADE_CODE"].ToString();
                }
                if (row["PRODUCT_QUALITY_GRADE_CODE"] != null)
                {
                    model.PRODUCT_QUALITY_GRADE_CODE = row["PRODUCT_QUALITY_GRADE_CODE"].ToString();
                }
                if (row["PRODUCT_SECURITYLEVEL_CODE"] != null)
                {
                    model.PRODUCT_SECURITYLEVEL_CODE = row["PRODUCT_SECURITYLEVEL_CODE"].ToString();
                }
                if (row["PRODUCT_FORMAT_CODE"] != null)
                {
                    model.PRODUCT_FORMAT_CODE = row["PRODUCT_FORMAT_CODE"].ToString();
                }
                if (row["PRODUCT_COLLECT_DATE"] != null)
                {
                    model.PRODUCT_COLLECT_DATE = DateTime.Parse(row["PRODUCT_COLLECT_DATE"].ToString());
                }
                if (row["PRODUCT_CURE_DATE"] != null)
                {
                    model.PRODUCT_CURE_DATE = DateTime.Parse(row["PRODUCT_CURE_DATE"].ToString());
                }
                if (row["PRODUCT_ARCHIVE_DATE"] != null)
                {
                    model.PRODUCT_ARCHIVE_DATE = DateTime.Parse(row["PRODUCT_ARCHIVE_DATE"].ToString());
                }
                if (row["PRODUCT_SIZE"] != null && row["PRODUCT_SIZE"].ToString() != "")
                {
                    model.PRODUCT_SIZE = int.Parse(row["PRODUCT_SIZE"].ToString());
                }
                if (row["PRODUCT_QUALITY_REPORT"] != null)
                {
                    model.PRODUCT_QUALITY_REPORT = row["PRODUCT_QUALITY_REPORT"].ToString();
                }
                if (row["PRODUCT_ORDER_NUMBER"] != null)
                {
                    model.PRODUCT_ORDER_NUMBER = row["PRODUCT_ORDER_NUMBER"].ToString();
                }
                if (row["PRODUCT_AR_CODE"] != null)
                {
                    model.PRODUCT_AR_CODE = row["PRODUCT_AR_CODE"].ToString();
                }
                if (row["PRODUCT_STORAGE_PATH"] != null)
                {
                    model.PRODUCT_STORAGE_PATH = row["PRODUCT_STORAGE_PATH"].ToString();
                }
                if (row["PRODUCT_QUICKVIEW"] != null && row["PRODUCT_QUICKVIEW"].ToString() != "")
                {
                    model.PRODUCT_QUICKVIEW = (byte[])row["PRODUCT_QUICKVIEW"];
                }
                if (row["PRODUCT_THUMB"] != null && row["PRODUCT_THUMB"].ToString() != "")
                {
                    model.PRODUCT_THUMB = (byte[])row["PRODUCT_THUMB"];
                }
                if (row["CREATE_USERID"] != null)
                {
                    model.CREATE_USERID = row["CREATE_USERID"].ToString();
                }
                if (row["CREATE_DATE"] != null)
                {
                    model.CREATE_DATE = DateTime.Parse(row["CREATE_DATE"].ToString());
                }
                if (row["USED_COUNT"] != null && row["USED_COUNT"].ToString() != "")
                {
                    model.USED_COUNT = int.Parse(row["USED_COUNT"].ToString());
                }
                if (row["STATUS"] != null)
                {
                    model.STATUS = row["STATUS"].ToString();
                }
                if (row["REMARKS"] != null)
                {
                    model.REMARKS = row["REMARKS"].ToString();
                }
                if (row["ENVELOPE"] != null)
                {
                    model.ENVELOPE = row["ENVELOPE"].ToString();
                }
                if (row["COLLECT_DATE"] != null)
                {
                    model.COLLECT_DATE = DateTime.Parse(row["COLLECT_DATE"].ToString());
                }
                if (row["COLLECT_DATE_BEGIN"] != null)
                {
                    model.COLLECT_DATE_BEGIN = DateTime.Parse(row["COLLECT_DATE_BEGIN"].ToString());
                }
                if (row["COLLECT_DATE_END"] != null)
                {
                    model.COLLECT_DATE_END = DateTime.Parse(row["COLLECT_DATE_END"].ToString());
                }
                if (row["PRODUCT_SIZE_MEASURE"] != null)
                {
                    model.PRODUCT_SIZE_MEASURE = row["PRODUCT_SIZE_MEASURE"].ToString();
                }
                if (row["IS_COMPRESSED"] != null)
                {
                    model.IS_COMPRESSED = row["IS_COMPRESSED"].ToString();
                }
                if (row["PRODUCT_FILES_LIST"] != null)
                {
                    model.PRODUCT_FILES_LIST = row["PRODUCT_FILES_LIST"].ToString();
                }
                if (row["PRODUCT_USE"] != null)
                {
                    model.PRODUCT_USE = row["PRODUCT_USE"].ToString();
                }
            }
            return model;
        }
 
        /// <summary>
        /// 单项添加
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:12:24</time>
        /// <param name="objRIMDI">原始影像数据的元数据信息</param>
        /// <returns>true=成功;false=失败;</returns>
        public bool Insert(RawImageMetaDataInfo objRIMDI)
        {
            bool blReturn = false;

            //组装插入参数
            AssemblyInsertParameter();

            foreach (OracleParameter objOP in parameters)
            {
                Type t = objRIMDI.GetType();

                foreach (PropertyInfo pi in t.GetProperties())
                {
                    string name = pi.Name;

                    if (name.Equals(objOP.ParameterName.Replace(":", "")))
                    {
                        objOP.Value = pi.GetValue(objRIMDI, null);
                    }
                }
            }
            string ErrorMessage = string.Empty;
            int rows = objODPHelper.ExecuteSqlEx(strSql.ToString(), true, false, out ErrorMessage, parameters);

            blReturn = rows > 0 ? true : false;

            return blReturn;
        }
       

        /// <summary>
        /// 批量添加
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:14:51</time>
        /// <param name="listRIMDI">原始影像数据的元数据信息列表</param>
        /// <returns>true=成功;false=失败;</returns>
        public bool BatchInsert(List<RawImageMetaDataInfo> listRIMDI)
        {
            bool blReturn = false;

            //组装插入参数
            AssemblyInsertParameter();

            //获取批量操作数据
            Dictionary<string, object> dict = GetBatchOperateData(listRIMDI);

            int rows = objODPHelper.BatchExecuteSql(strSql.ToString(), dict, true, true, parameters);

            blReturn = rows > 0 ? true : false;

            return blReturn;
        }

        /// <summary>
        /// 组装插入参数
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-12-4 10:10:09</time>
        private void AssemblyInsertParameter()
        {
            strSql = new StringBuilder();
            strSql.Append("insert into TM_RAW_IMAGE_METADATA_INFOS(");
            strSql.Append("ID,DATA_NAME,DATAID,SATELLITE_TYPE_CODE,SENSOR_TYPE_CODE,SCENE_ID,SCENE_PATH,SCENE_ROW,SCENE_SHIFT,SCENE_COUNT,SATELLITE_PATH,SATELLITE_ROW,IMAGE_FORMAT,IMAGE_WIDTH,IMAGE_HEIGHT,IMAGE_GDS_CODE,IMAGE_WIDTH_PIXELS,IMAGE_HEIGHT_PIXELS,IMAGE_BANDS,IMAGE_BANDS_COUNT,ORBIT_ID,CLOUDCOVER_CODE,PIXELS_NUMBERS,VALID_PIXELS_BITS,CS_CODE,LOCATOR_UNIT,PROJECTION_CODE,PROJECTION_PARAMS,ZONE_CODE,ZONE_NO,ELEVATION_CODE,SHOOT_ELEVATING_ANGLE,SHOOT_AZIMUTH_ANGLE,ROLLVIEWING_ANGLE,PITCHVIEWING_ANGLE,ROLL_SATELLITE_ANGLE,PITCH_SATELLITE_ANGLE,YAW_SATELLITE_ANGLE,SATELLITEAZIMUTH,SATELLITEZENITH,INTEGRATIONLEVEL,MTFCORRECTION,RELATIVECORRECTIONDATA,SOLAR_ZENITH_ANGLE,SUN_AZIMUTH_ANGLE,GAIN_MODE,RESAMPLE_METHOD,CENTER_POINT_LON,CENTER_POINT_LAT,CENTER_POINT_ELE,TL_LON,TL_LAT,TR_LON,TR_LAT,BR_LON,BR_LAT,BL_LON,BL_LAT,TL_X,TL_Y,TR_X,TR_Y,BR_X,BR_Y,BL_X,BL_Y,PRODUCT_NAME,PRODUCT_SN,PRODUCT_CATEGORY_CODE,PRODUCT_OWNERSHIP_UNIT,PRODUCT_PRODUCTION_UNIT,PRODUCT_CLASS_GRADE_CODE,PRODUCT_QUALITY_GRADE_CODE,PRODUCT_SECURITYLEVEL_CODE,PRODUCT_FORMAT_CODE,PRODUCT_COLLECT_DATE,PRODUCT_CURE_DATE,PRODUCT_ARCHIVE_DATE,PRODUCT_SIZE,PRODUCT_QUALITY_REPORT,PRODUCT_ORDER_NUMBER,PRODUCT_AR_CODE,PRODUCT_STORAGE_PATH,PRODUCT_QUICKVIEW,PRODUCT_THUMB,CREATE_USERID,CREATE_DATE,USED_COUNT,STATUS,REMARKS,ENVELOPE,COLLECT_DATE,COLLECT_DATE_BEGIN,COLLECT_DATE_END,PRODUCT_SIZE_MEASURE,IS_COMPRESSED,PRODUCT_FILES_LIST,PRODUCT_USE)");
            strSql.Append(" values (");
            strSql.Append(":ID,:DATA_NAME,:DATAID,:SATELLITE_TYPE_CODE,:SENSOR_TYPE_CODE,:SCENE_ID,:SCENE_PATH,:SCENE_ROW,:SCENE_SHIFT,:SCENE_COUNT,:SATELLITE_PATH,:SATELLITE_ROW,:IMAGE_FORMAT,:IMAGE_WIDTH,:IMAGE_HEIGHT,:IMAGE_GDS_CODE,:IMAGE_WIDTH_PIXELS,:IMAGE_HEIGHT_PIXELS,:IMAGE_BANDS,:IMAGE_BANDS_COUNT,:ORBIT_ID,:CLOUDCOVER_CODE,:PIXELS_NUMBERS,:VALID_PIXELS_BITS,:CS_CODE,:LOCATOR_UNIT,:PROJECTION_CODE,:PROJECTION_PARAMS,:ZONE_CODE,:ZONE_NO,:ELEVATION_CODE,:SHOOT_ELEVATING_ANGLE,:SHOOT_AZIMUTH_ANGLE,:ROLLVIEWING_ANGLE,:PITCHVIEWING_ANGLE,:ROLL_SATELLITE_ANGLE,:PITCH_SATELLITE_ANGLE,:YAW_SATELLITE_ANGLE,:SATELLITEAZIMUTH,:SATELLITEZENITH,:INTEGRATIONLEVEL,:MTFCORRECTION,:RELATIVECORRECTIONDATA,:SOLAR_ZENITH_ANGLE,:SUN_AZIMUTH_ANGLE,:GAIN_MODE,:RESAMPLE_METHOD,:CENTER_POINT_LON,:CENTER_POINT_LAT,:CENTER_POINT_ELE,:TL_LON,:TL_LAT,:TR_LON,:TR_LAT,:BR_LON,:BR_LAT,:BL_LON,:BL_LAT,:TL_X,:TL_Y,:TR_X,:TR_Y,:BR_X,:BR_Y,:BL_X,:BL_Y,:PRODUCT_NAME,:PRODUCT_SN,:PRODUCT_CATEGORY_CODE,:PRODUCT_OWNERSHIP_UNIT,:PRODUCT_PRODUCTION_UNIT,:PRODUCT_CLASS_GRADE_CODE,:PRODUCT_QUALITY_GRADE_CODE,:PRODUCT_SECURITYLEVEL_CODE,:PRODUCT_FORMAT_CODE,:PRODUCT_COLLECT_DATE,:PRODUCT_CURE_DATE,:PRODUCT_ARCHIVE_DATE,:PRODUCT_SIZE,:PRODUCT_QUALITY_REPORT,:PRODUCT_ORDER_NUMBER,:PRODUCT_AR_CODE,:PRODUCT_STORAGE_PATH,:PRODUCT_QUICKVIEW,:PRODUCT_THUMB,:CREATE_USERID,:CREATE_DATE,:USED_COUNT,:STATUS,:REMARKS,sde.st_geometry(:ENVELOPE,0),:COLLECT_DATE,:COLLECT_DATE_BEGIN,:COLLECT_DATE_END,:PRODUCT_SIZE_MEASURE,:IS_COMPRESSED,:PRODUCT_FILES_LIST,:PRODUCT_USE)");
            OracleParameter[] arrparameters = {
					new OracleParameter(":ID", OracleDbType.Varchar2,40),
					new OracleParameter(":DATA_NAME", OracleDbType.Varchar2,100),
					new OracleParameter(":DATAID", OracleDbType.Decimal,10),
					new OracleParameter(":SATELLITE_TYPE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":SENSOR_TYPE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":SCENE_ID", OracleDbType.Varchar2,30),
					new OracleParameter(":SCENE_PATH", OracleDbType.Decimal,4),
					new OracleParameter(":SCENE_ROW", OracleDbType.Decimal,4),
					new OracleParameter(":SCENE_SHIFT", OracleDbType.Decimal,4),
					new OracleParameter(":SCENE_COUNT", OracleDbType.Decimal,4),
					new OracleParameter(":SATELLITE_PATH", OracleDbType.Decimal,4),
					new OracleParameter(":SATELLITE_ROW", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_FORMAT", OracleDbType.Varchar2,20),
					new OracleParameter(":IMAGE_WIDTH", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_HEIGHT", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_GDS_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":IMAGE_WIDTH_PIXELS", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_HEIGHT_PIXELS", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_BANDS", OracleDbType.Varchar2,40),
					new OracleParameter(":IMAGE_BANDS_COUNT", OracleDbType.Decimal,10),
					new OracleParameter(":ORBIT_ID", OracleDbType.Decimal,4),
					new OracleParameter(":CLOUDCOVER_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PIXELS_NUMBERS", OracleDbType.Decimal,4),
					new OracleParameter(":VALID_PIXELS_BITS", OracleDbType.Decimal,4),
					new OracleParameter(":CS_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":LOCATOR_UNIT", OracleDbType.Varchar2,20),
					new OracleParameter(":PROJECTION_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PROJECTION_PARAMS", OracleDbType.Varchar2,50),
					new OracleParameter(":ZONE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":ZONE_NO", OracleDbType.Varchar2,50),
					new OracleParameter(":ELEVATION_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":SHOOT_ELEVATING_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":SHOOT_AZIMUTH_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":ROLLVIEWING_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":PITCHVIEWING_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":ROLL_SATELLITE_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":PITCH_SATELLITE_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":YAW_SATELLITE_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":SATELLITEAZIMUTH", OracleDbType.Decimal,10),
					new OracleParameter(":SATELLITEZENITH", OracleDbType.Decimal,10),
					new OracleParameter(":INTEGRATIONLEVEL", OracleDbType.Varchar2,20),
					new OracleParameter(":MTFCORRECTION", OracleDbType.Varchar2,20),
					new OracleParameter(":RELATIVECORRECTIONDATA", OracleDbType.Varchar2,20),
					new OracleParameter(":SOLAR_ZENITH_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":SUN_AZIMUTH_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":GAIN_MODE", OracleDbType.Decimal,10),
					new OracleParameter(":RESAMPLE_METHOD", OracleDbType.Varchar2,4),
					new OracleParameter(":CENTER_POINT_LON", OracleDbType.Decimal,12),
					new OracleParameter(":CENTER_POINT_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":CENTER_POINT_ELE", OracleDbType.Decimal,12),
					new OracleParameter(":TL_LON", OracleDbType.Decimal,12),
					new OracleParameter(":TL_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":TR_LON", OracleDbType.Decimal,12),
					new OracleParameter(":TR_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":BR_LON", OracleDbType.Decimal,12),
					new OracleParameter(":BR_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":BL_LON", OracleDbType.Decimal,12),
					new OracleParameter(":BL_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":TL_X", OracleDbType.Decimal,12),
					new OracleParameter(":TL_Y", OracleDbType.Decimal,12),
					new OracleParameter(":TR_X", OracleDbType.Decimal,12),
					new OracleParameter(":TR_Y", OracleDbType.Decimal,12),
					new OracleParameter(":BR_X", OracleDbType.Decimal,12),
					new OracleParameter(":BR_Y", OracleDbType.Decimal,12),
					new OracleParameter(":BL_X", OracleDbType.Decimal,12),
					new OracleParameter(":BL_Y", OracleDbType.Decimal,12),
					new OracleParameter(":PRODUCT_NAME", OracleDbType.Varchar2,50),
					new OracleParameter(":PRODUCT_SN", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_CATEGORY_CODE", OracleDbType.Varchar2,20),
					new OracleParameter(":PRODUCT_OWNERSHIP_UNIT", OracleDbType.Varchar2,50),
					new OracleParameter(":PRODUCT_PRODUCTION_UNIT", OracleDbType.Varchar2,40),
					new OracleParameter(":PRODUCT_CLASS_GRADE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_QUALITY_GRADE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_SECURITYLEVEL_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_FORMAT_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_COLLECT_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_CURE_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_ARCHIVE_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_SIZE", OracleDbType.Decimal,4),
					new OracleParameter(":PRODUCT_QUALITY_REPORT", OracleDbType.Varchar2,500),
					new OracleParameter(":PRODUCT_ORDER_NUMBER", OracleDbType.Varchar2,40),
					new OracleParameter(":PRODUCT_AR_CODE", OracleDbType.Varchar2,10),
					new OracleParameter(":PRODUCT_STORAGE_PATH", OracleDbType.Varchar2,500),
					new OracleParameter(":PRODUCT_QUICKVIEW", OracleDbType.Blob),
					new OracleParameter(":PRODUCT_THUMB", OracleDbType.Blob),
					new OracleParameter(":CREATE_USERID", OracleDbType.Varchar2,40),
					new OracleParameter(":CREATE_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":USED_COUNT", OracleDbType.Decimal,4),
					new OracleParameter(":STATUS", OracleDbType.Varchar2,4),
					new OracleParameter(":REMARKS", OracleDbType.Varchar2,400),
					new OracleParameter(":ENVELOPE", OracleDbType.Clob,256),
					new OracleParameter(":COLLECT_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":COLLECT_DATE_BEGIN", OracleDbType.TimeStamp,11),
					new OracleParameter(":COLLECT_DATE_END", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_SIZE_MEASURE", OracleDbType.Varchar2,4),
					new OracleParameter(":IS_COMPRESSED", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_FILES_LIST", OracleDbType.Varchar2,500),
					new OracleParameter(":PRODUCT_USE", OracleDbType.XmlType,2000)};
            parameters = arrparameters;
        }

        /// <summary>
        /// 获取批量操作数据
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:17:00</time>
        /// <param name="listDMI">实体信息列表</param>
        /// <returns>返回批量操作实体信息数据字典</returns>
        public Dictionary<string, object> GetBatchOperateData<T>(List<T> listDMI)
        {
            Dictionary<string, object> dict = new Dictionary<string, object>();

            foreach (T objDMI in listDMI)
            {
                Type t = objDMI.GetType();

                string strID = string.Empty;

                foreach (PropertyInfo pi in t.GetProperties())
                {
                    string name = pi.Name;
                    object value = pi.GetValue(objDMI, null);

                    ArrayList objAL = new ArrayList();
                    objAL.Add(value);

                    if (dict.Keys.Contains(name))
                    {
                        object dictObject = ((ArrayList)dict[name])[0];
                        objAL.Add(dictObject);
                        dict[name] = objAL;
                    }
                    else
                    {
                        dict.Add(name, objAL);
                    }
                }
            }

            return dict;
        }

        /// <summary>
        /// 单项删除
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:17:24</time>
        /// <param name="strId">数据编号</param>
        /// <returns>true=成功;false=失败;</returns>
        public bool Delete(string strId)
        {
            bool blReturn = false;
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update TM_RAW_IMAGE_METADATA_INFOS set ");
            strSql.Append("STATUS=:STATUS ");
            strSql.Append(" where ID=:ID ");
            OracleParameter[] parameters = { new OracleParameter(":STATUS",OracleDbType.Varchar2,4),
                                             new OracleParameter(":ID", OracleDbType.Varchar2, 40) };
            parameters[0].Value = "-1";
            parameters[1].Value = strId;
            int rows = objODPHelper.ExecuteSql(strSql.ToString(), true, false, parameters);
            blReturn = rows > 0 ? true : false;
            return blReturn;
        }

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:29:13</time>
        /// <param name="strArrId">要删除的编号数组(以,分割)</param>
        /// <returns>true=成功;false=失败;</returns>
        public bool BatchDelete(string strArrId)
        {
            bool blReturn = false;
            List<RawImageMetaDataInfo> listDMI = new List<RawImageMetaDataInfo>();

            string[] arrId = strArrId.Split(',');
            for (int i = 0; i < arrId.Length; i++)
            {
                RawImageMetaDataInfo objDMI = new RawImageMetaDataInfo();
                objDMI.ID = arrId[i];
                listDMI.Add(objDMI);
            }

            //组装删除参数
            AssemblyDeleteParameter();

            //获取批量操作数据
            Dictionary<string, object> dict = GetBatchOperateData(listDMI);

            int rows = objODPHelper.BatchExecuteSql(strSql.ToString(), dict, true, true, parameters);

            blReturn = rows > 0 ? true : false;

            return blReturn;
        }

        /// <summary>
        /// 组装删除参数
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-12-4 10:30:59</time>
        private void AssemblyDeleteParameter()
        {
            strSql = new StringBuilder();
            strSql.Append("delete from TM_RAW_IMAGE_METADATA_INFOS ");
            strSql.Append(" where ID=:ID ");

            OracleParameter[] arrparameters = {
					new OracleParameter(":ID", OracleDbType.Varchar2,40)			};
            parameters = arrparameters;
        }

        /// <summary>
        /// 单项修改
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:18:28</time>
        /// <param name="objRIMDI">原始影像数据的元数据信息</param>
        /// <returns>true=成功;false=失败;</returns>
        public bool Update(RawImageMetaDataInfo objRIMDI)
        {
            bool blReturn = false;

            //组装修改参数
            AssemblyUpdateParameter();

            foreach (OracleParameter objOP in parameters)
            {
                Type t = objRIMDI.GetType();

                foreach (PropertyInfo pi in t.GetProperties())
                {
                    string name = pi.Name;

                    if (name.Equals(objOP.ParameterName.Replace(":", "")))
                    {
                        objOP.Value = pi.GetValue(objRIMDI, null);
                    }
                }
            }

            int rows = objODPHelper.ExecuteSql(strSql.ToString(), true, false, parameters);

            blReturn = rows > 0 ? true : false;

            return blReturn;
        }
               
        /// <summary>
        /// 批量修改
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-11-26 10:27:45</time>
        /// <param name="listRIMDI">原始影像数据的元数据信息列表</param>
        /// <returns>true=成功;false=失败;</returns>
        public bool BatchUpdate(List<RawImageMetaDataInfo> listRIMDI)
        {
            bool blReturn = false;

            //组装修改参数
            AssemblyUpdateParameter();

            //获取批量操作数据
            Dictionary<string, object> dict = GetBatchOperateData(listRIMDI);

            int rows = objODPHelper.BatchExecuteSql(strSql.ToString(), dict, true, true, parameters);

            blReturn = rows > 0 ? true : false;

            return blReturn;
        }

        /// <summary>
        /// 组装修改参数
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-12-4 10:23:38</time>
        private void AssemblyUpdateParameter()
        {
            strSql = new StringBuilder();
            strSql.Append("update TM_RAW_IMAGE_METADATA_INFOS set ");
            strSql.Append("DATA_NAME=:DATA_NAME,");
            strSql.Append("DATAID=:DATAID,");
            strSql.Append("SATELLITE_TYPE_CODE=:SATELLITE_TYPE_CODE,");
            strSql.Append("SENSOR_TYPE_CODE=:SENSOR_TYPE_CODE,");
            strSql.Append("SCENE_ID=:SCENE_ID,");
            strSql.Append("SCENE_PATH=:SCENE_PATH,");
            strSql.Append("SCENE_ROW=:SCENE_ROW,");
            strSql.Append("SCENE_SHIFT=:SCENE_SHIFT,");
            strSql.Append("SCENE_COUNT=:SCENE_COUNT,");
            strSql.Append("SATELLITE_PATH=:SATELLITE_PATH,");
            strSql.Append("SATELLITE_ROW=:SATELLITE_ROW,");
            strSql.Append("IMAGE_FORMAT=:IMAGE_FORMAT,");
            strSql.Append("IMAGE_WIDTH=:IMAGE_WIDTH,");
            strSql.Append("IMAGE_HEIGHT=:IMAGE_HEIGHT,");
            strSql.Append("IMAGE_GDS_CODE=:IMAGE_GDS_CODE,");
            strSql.Append("IMAGE_WIDTH_PIXELS=:IMAGE_WIDTH_PIXELS,");
            strSql.Append("IMAGE_HEIGHT_PIXELS=:IMAGE_HEIGHT_PIXELS,");
            strSql.Append("IMAGE_BANDS=:IMAGE_BANDS,");
            strSql.Append("IMAGE_BANDS_COUNT=:IMAGE_BANDS_COUNT,");
            strSql.Append("ORBIT_ID=:ORBIT_ID,");
            strSql.Append("CLOUDCOVER_CODE=:CLOUDCOVER_CODE,");
            strSql.Append("PIXELS_NUMBERS=:PIXELS_NUMBERS,");
            strSql.Append("VALID_PIXELS_BITS=:VALID_PIXELS_BITS,");
            strSql.Append("CS_CODE=:CS_CODE,");
            strSql.Append("LOCATOR_UNIT=:LOCATOR_UNIT,");
            strSql.Append("PROJECTION_CODE=:PROJECTION_CODE,");
            strSql.Append("PROJECTION_PARAMS=:PROJECTION_PARAMS,");
            strSql.Append("ZONE_CODE=:ZONE_CODE,");
            strSql.Append("ZONE_NO=:ZONE_NO,");
            strSql.Append("ELEVATION_CODE=:ELEVATION_CODE,");
            strSql.Append("SHOOT_ELEVATING_ANGLE=:SHOOT_ELEVATING_ANGLE,");
            strSql.Append("SHOOT_AZIMUTH_ANGLE=:SHOOT_AZIMUTH_ANGLE,");
            strSql.Append("ROLLVIEWING_ANGLE=:ROLLVIEWING_ANGLE,");
            strSql.Append("PITCHVIEWING_ANGLE=:PITCHVIEWING_ANGLE,");
            strSql.Append("ROLL_SATELLITE_ANGLE=:ROLL_SATELLITE_ANGLE,");
            strSql.Append("PITCH_SATELLITE_ANGLE=:PITCH_SATELLITE_ANGLE,");
            strSql.Append("YAW_SATELLITE_ANGLE=:YAW_SATELLITE_ANGLE,");
            strSql.Append("SATELLITEAZIMUTH=:SATELLITEAZIMUTH,");
            strSql.Append("SATELLITEZENITH=:SATELLITEZENITH,");
            strSql.Append("INTEGRATIONLEVEL=:INTEGRATIONLEVEL,");
            strSql.Append("MTFCORRECTION=:MTFCORRECTION,");
            strSql.Append("RELATIVECORRECTIONDATA=:RELATIVECORRECTIONDATA,");
            strSql.Append("SOLAR_ZENITH_ANGLE=:SOLAR_ZENITH_ANGLE,");
            strSql.Append("SUN_AZIMUTH_ANGLE=:SUN_AZIMUTH_ANGLE,");
            strSql.Append("GAIN_MODE=:GAIN_MODE,");
            strSql.Append("RESAMPLE_METHOD=:RESAMPLE_METHOD,");
            strSql.Append("CENTER_POINT_LON=:CENTER_POINT_LON,");
            strSql.Append("CENTER_POINT_LAT=:CENTER_POINT_LAT,");
            strSql.Append("CENTER_POINT_ELE=:CENTER_POINT_ELE,");
            strSql.Append("TL_LON=:TL_LON,");
            strSql.Append("TL_LAT=:TL_LAT,");
            strSql.Append("TR_LON=:TR_LON,");
            strSql.Append("TR_LAT=:TR_LAT,");
            strSql.Append("BR_LON=:BR_LON,");
            strSql.Append("BR_LAT=:BR_LAT,");
            strSql.Append("BL_LON=:BL_LON,");
            strSql.Append("BL_LAT=:BL_LAT,");
            strSql.Append("TL_X=:TL_X,");
            strSql.Append("TL_Y=:TL_Y,");
            strSql.Append("TR_X=:TR_X,");
            strSql.Append("TR_Y=:TR_Y,");
            strSql.Append("BR_X=:BR_X,");
            strSql.Append("BR_Y=:BR_Y,");
            strSql.Append("BL_X=:BL_X,");
            strSql.Append("BL_Y=:BL_Y,");
            strSql.Append("PRODUCT_NAME=:PRODUCT_NAME,");
            strSql.Append("PRODUCT_SN=:PRODUCT_SN,");
            strSql.Append("PRODUCT_CATEGORY_CODE=:PRODUCT_CATEGORY_CODE,");
            strSql.Append("PRODUCT_OWNERSHIP_UNIT=:PRODUCT_OWNERSHIP_UNIT,");
            strSql.Append("PRODUCT_PRODUCTION_UNIT=:PRODUCT_PRODUCTION_UNIT,");
            strSql.Append("PRODUCT_CLASS_GRADE_CODE=:PRODUCT_CLASS_GRADE_CODE,");
            strSql.Append("PRODUCT_QUALITY_GRADE_CODE=:PRODUCT_QUALITY_GRADE_CODE,");
            strSql.Append("PRODUCT_SECURITYLEVEL_CODE=:PRODUCT_SECURITYLEVEL_CODE,");
            strSql.Append("PRODUCT_FORMAT_CODE=:PRODUCT_FORMAT_CODE,");
            strSql.Append("PRODUCT_COLLECT_DATE=:PRODUCT_COLLECT_DATE,");
            strSql.Append("PRODUCT_CURE_DATE=:PRODUCT_CURE_DATE,");
            strSql.Append("PRODUCT_ARCHIVE_DATE=:PRODUCT_ARCHIVE_DATE,");
            strSql.Append("PRODUCT_SIZE=:PRODUCT_SIZE,");
            strSql.Append("PRODUCT_QUALITY_REPORT=:PRODUCT_QUALITY_REPORT,");
            strSql.Append("PRODUCT_ORDER_NUMBER=:PRODUCT_ORDER_NUMBER,");
            strSql.Append("PRODUCT_AR_CODE=:PRODUCT_AR_CODE,");
            strSql.Append("PRODUCT_STORAGE_PATH=:PRODUCT_STORAGE_PATH,");
            strSql.Append("PRODUCT_QUICKVIEW=:PRODUCT_QUICKVIEW,");
            strSql.Append("PRODUCT_THUMB=:PRODUCT_THUMB,");
            strSql.Append("CREATE_USERID=:CREATE_USERID,");
            strSql.Append("CREATE_DATE=:CREATE_DATE,");
            strSql.Append("USED_COUNT=:USED_COUNT,");
            strSql.Append("STATUS=:STATUS,");
            strSql.Append("REMARKS=:REMARKS,");
            strSql.Append("ENVELOPE=sde.st_geometry(:ENVELOPE,0),");
            strSql.Append("COLLECT_DATE=:COLLECT_DATE,");
            strSql.Append("COLLECT_DATE_BEGIN=:COLLECT_DATE_BEGIN,");
            strSql.Append("COLLECT_DATE_END=:COLLECT_DATE_END,");
            strSql.Append("PRODUCT_SIZE_MEASURE=:PRODUCT_SIZE_MEASURE,");
            strSql.Append("IS_COMPRESSED=:IS_COMPRESSED,");
            strSql.Append("PRODUCT_FILES_LIST=:PRODUCT_FILES_LIST,");
            strSql.Append("PRODUCT_USE=:PRODUCT_USE");
            strSql.Append(" where ID=:ID ");
            OracleParameter[] arrparameters = {
					new OracleParameter(":DATA_NAME", OracleDbType.Varchar2,100),
					new OracleParameter(":DATAID", OracleDbType.Decimal,10),
					new OracleParameter(":SATELLITE_TYPE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":SENSOR_TYPE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":SCENE_ID", OracleDbType.Varchar2,30),
					new OracleParameter(":SCENE_PATH", OracleDbType.Decimal,4),
					new OracleParameter(":SCENE_ROW", OracleDbType.Decimal,4),
					new OracleParameter(":SCENE_SHIFT", OracleDbType.Decimal,4),
					new OracleParameter(":SCENE_COUNT", OracleDbType.Decimal,4),
					new OracleParameter(":SATELLITE_PATH", OracleDbType.Decimal,4),
					new OracleParameter(":SATELLITE_ROW", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_FORMAT", OracleDbType.Varchar2,20),
					new OracleParameter(":IMAGE_WIDTH", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_HEIGHT", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_GDS_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":IMAGE_WIDTH_PIXELS", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_HEIGHT_PIXELS", OracleDbType.Decimal,4),
					new OracleParameter(":IMAGE_BANDS", OracleDbType.Varchar2,40),
					new OracleParameter(":IMAGE_BANDS_COUNT", OracleDbType.Decimal,10),
					new OracleParameter(":ORBIT_ID", OracleDbType.Decimal,4),
					new OracleParameter(":CLOUDCOVER_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PIXELS_NUMBERS", OracleDbType.Decimal,4),
					new OracleParameter(":VALID_PIXELS_BITS", OracleDbType.Decimal,4),
					new OracleParameter(":CS_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":LOCATOR_UNIT", OracleDbType.Varchar2,20),
					new OracleParameter(":PROJECTION_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PROJECTION_PARAMS", OracleDbType.Varchar2,50),
					new OracleParameter(":ZONE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":ZONE_NO", OracleDbType.Varchar2,50),
					new OracleParameter(":ELEVATION_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":SHOOT_ELEVATING_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":SHOOT_AZIMUTH_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":ROLLVIEWING_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":PITCHVIEWING_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":ROLL_SATELLITE_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":PITCH_SATELLITE_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":YAW_SATELLITE_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":SATELLITEAZIMUTH", OracleDbType.Decimal,10),
					new OracleParameter(":SATELLITEZENITH", OracleDbType.Decimal,10),
					new OracleParameter(":INTEGRATIONLEVEL", OracleDbType.Varchar2,20),
					new OracleParameter(":MTFCORRECTION", OracleDbType.Varchar2,20),
					new OracleParameter(":RELATIVECORRECTIONDATA", OracleDbType.Varchar2,20),
					new OracleParameter(":SOLAR_ZENITH_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":SUN_AZIMUTH_ANGLE", OracleDbType.Decimal,10),
					new OracleParameter(":GAIN_MODE", OracleDbType.Decimal,10),
					new OracleParameter(":RESAMPLE_METHOD", OracleDbType.Varchar2,4),
					new OracleParameter(":CENTER_POINT_LON", OracleDbType.Decimal,12),
					new OracleParameter(":CENTER_POINT_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":CENTER_POINT_ELE", OracleDbType.Decimal,12),
					new OracleParameter(":TL_LON", OracleDbType.Decimal,12),
					new OracleParameter(":TL_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":TR_LON", OracleDbType.Decimal,12),
					new OracleParameter(":TR_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":BR_LON", OracleDbType.Decimal,12),
					new OracleParameter(":BR_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":BL_LON", OracleDbType.Decimal,12),
					new OracleParameter(":BL_LAT", OracleDbType.Decimal,12),
					new OracleParameter(":TL_X", OracleDbType.Decimal,12),
					new OracleParameter(":TL_Y", OracleDbType.Decimal,12),
					new OracleParameter(":TR_X", OracleDbType.Decimal,12),
					new OracleParameter(":TR_Y", OracleDbType.Decimal,12),
					new OracleParameter(":BR_X", OracleDbType.Decimal,12),
					new OracleParameter(":BR_Y", OracleDbType.Decimal,12),
					new OracleParameter(":BL_X", OracleDbType.Decimal,12),
					new OracleParameter(":BL_Y", OracleDbType.Decimal,12),
					new OracleParameter(":PRODUCT_NAME", OracleDbType.Varchar2,50),
					new OracleParameter(":PRODUCT_SN", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_CATEGORY_CODE", OracleDbType.Varchar2,20),
					new OracleParameter(":PRODUCT_OWNERSHIP_UNIT", OracleDbType.Varchar2,50),
					new OracleParameter(":PRODUCT_PRODUCTION_UNIT", OracleDbType.Varchar2,40),
					new OracleParameter(":PRODUCT_CLASS_GRADE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_QUALITY_GRADE_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_SECURITYLEVEL_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_FORMAT_CODE", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_COLLECT_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_CURE_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_ARCHIVE_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_SIZE", OracleDbType.Decimal,4),
					new OracleParameter(":PRODUCT_QUALITY_REPORT", OracleDbType.Varchar2,500),
					new OracleParameter(":PRODUCT_ORDER_NUMBER", OracleDbType.Varchar2,40),
					new OracleParameter(":PRODUCT_AR_CODE", OracleDbType.Varchar2,10),
					new OracleParameter(":PRODUCT_STORAGE_PATH", OracleDbType.Varchar2,500),
					new OracleParameter(":PRODUCT_QUICKVIEW", OracleDbType.Blob),
					new OracleParameter(":PRODUCT_THUMB", OracleDbType.Blob),
					new OracleParameter(":CREATE_USERID", OracleDbType.Varchar2,40),
					new OracleParameter(":CREATE_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":USED_COUNT", OracleDbType.Decimal,4),
					new OracleParameter(":STATUS", OracleDbType.Varchar2,4),
					new OracleParameter(":REMARKS", OracleDbType.Varchar2,400),
					new OracleParameter(":ENVELOPE", OracleDbType.Clob,256),
					new OracleParameter(":COLLECT_DATE", OracleDbType.TimeStamp,11),
					new OracleParameter(":COLLECT_DATE_BEGIN", OracleDbType.TimeStamp,11),
					new OracleParameter(":COLLECT_DATE_END", OracleDbType.TimeStamp,11),
					new OracleParameter(":PRODUCT_SIZE_MEASURE", OracleDbType.Varchar2,4),
					new OracleParameter(":IS_COMPRESSED", OracleDbType.Varchar2,4),
					new OracleParameter(":PRODUCT_FILES_LIST", OracleDbType.Varchar2,500),
					new OracleParameter(":PRODUCT_USE", OracleDbType.XmlType,2000),
                    new OracleParameter(":ID", OracleDbType.Varchar2,40)};
            parameters = arrparameters;
        }

        #endregion

        public RawImageMetaData()
        { }
    }
}

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 好了,对RawImageMetaData底层操作类的封装就完成了,接下来我们需要调用,进行再次的封装和调用,以适应我的Client的业务需求,

而接下来的具体操作,将会在我的笔记学习(四)里面讲述

详情请点击以下链接地址:

 c#中odp.net 4.0利用odac操作oracle数据库学习(四)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值