Beispiel #1
0
 //复制某记录到另外记录中
 private void CopyRecordset(Recordset sour_recdst, Recordset dest_recdst)
 {
     try
     {
         FieldInfos dest_fis = dest_recdst.GetFieldInfos();
         FieldInfos sour_fis = sour_recdst.GetFieldInfos();
         dest_recdst.Batch.Begin();
         while (!sour_recdst.IsEOF)
         {
             if (dest_recdst.AddNew(sour_recdst.GetGeometry()))
             {
                 Dictionary <string, object> arrValues = new Dictionary <string, object>();
                 foreach (FieldInfo item in dest_fis)
                 {
                     if (!item.IsSystemField)
                     {
                         int iDex = GetIndexByCaption(sour_fis, item.Name);
                         if (iDex > -1)
                         {
                             object obj = sour_recdst.GetFieldValue(iDex);
                             arrValues.Add(item.Name, obj);
                         }
                     }
                 }
                 //增加主体类型
                 {
                     arrValues.Add("ZTLX", m_strZTLX);
                 }
                 bool bRes = dest_recdst.SetValues(arrValues);
             }
             sour_recdst.MoveNext();
         }
         dest_recdst.Batch.Update();
     }
     catch { }
 }