ArcGISCompare.msAccProcs.LoadAttributeMappings C# (CSharp) Method

LoadAttributeMappings() public method

public LoadAttributeMappings ( FeatureMappingData theMap, IWorkspace theWS, int serial ) : System.Boolean
theMap FeatureMappingData
theWS IWorkspace
serial int
return System.Boolean
        public Boolean LoadAttributeMappings(FeatureMappingData theMap, IWorkspace theWS, int serial)
        {
            OleDbCommand theCMD;
              OleDbDataReader theReader;
              String theSQL = "";
              int srcDT, destDT, srcL, destL, fCount;
              String srcC, destC, srcF, destF, srcE, destE, constant, result;
              AttributeMappingData theAMap;

              try
              {
            theSQL = "SELECT * FROM [AttributeMappings] WHERE [SerialNumber] = " + serial.ToString();
            theCMD = new OleDbCommand(theSQL, theConn);

            checkOpen();
            theReader = theCMD.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

            while (theReader.Read())
            {
              srcC = theReader.GetString(1);
              destC = theReader.GetString(2);
              srcF = theReader.GetString(3);
              destF = theReader.GetString(7);
              srcDT = theReader.GetInt32(4);
              destDT = theReader.GetInt32(8);
              srcL = theReader.GetInt32(5);
              destL = theReader.GetInt32(9);
              srcE = theReader.GetString(6);
              destE = theReader.GetString(10);
              constant = theReader.GetString(12);
              result = theReader.GetString(13);
              fCount = theReader.GetInt32(11);

              IField theSF = new FieldClass();
              IFieldEdit theES = (IFieldEdit)theSF;
              theES.Name_2 = srcF;
              theES.AliasName_2 = srcF;
              theES.Type_2 = ToESRIDataType(srcDT);
              theES.Length_2 = srcL;

              IFields destFld = GeoDbProcs.GetFeatureClassFields(theWS, destC);

              int theIndex = destFld.FindField(destF);

              if (theIndex >= 0)
              {
            IField theDF = destFld.get_Field(theIndex);
            AttributeData theS = new AttributeData(srcC, theSF, fCount);
            AttributeData theD = new AttributeData(destC, theDF, fCount);
            theAMap = new AttributeMappingData(theMap, theS, theD);

            theAMap.AddResults(result);
            theAMap.constant = constant;
            theMap.AddTransform(theAMap);

            LoadValueMappings(theAMap);

            LoadDataLoss(theAMap, serial);
              }
            }

            return true;
              }
              catch (Exception ex) { return false; }
        }