Показать сообщение отдельно
Старый 13.07.2006, 14:20   #11  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Решил развлечься малость. Вот метод, который копирует не одну строку, а всю таблицу. Может кому сгодится.
P.S. Работает весьма быстро

PHP код:
/** Копирует все данные из таблицы _fromTable в одноименные поля _toTable */
static Common cloneTable(str _fromTablestr _toTable)
{
    
DictTable dictTable1 = new DictTable(tableName2Id(_toTable));
    
DictTable dictTable2 = new DictTable(tableName2Id(_fromTable));

    
int i;
    
int t2FieldId;
    
str t1FieldId;

    
str fields;
    
str copyJob "Common testTmp()\n{\n%1 fromTable;\n%2 toTable;\n;\n INSERT_RECORDSET toTable (%3)  select %3 from fromTable;\n return toTable;\n }"
    
;

    for (
1;<= dictTable2.fieldCnt();i++)
    {
        
t1FieldId dictTable2.fieldName(dictTable2.fieldCnt2Id(i));
        
t2FieldId dictTable2.fieldCnt2Id(i);

        if (
dictTable1.fieldName2Id(t1FieldId) && !isSysId(t2FieldId))
            
fields fields fields ", " +  t1FieldId t1FieldId;
    }

    return 
runbuf(strfmt(copyJob_fromTable_toTablefields));

__________________
Isn't it nice when things just work?

Последний раз редактировалось macklakov; 13.07.2006 в 14:22.
За это сообщение автора поблагодарили: George Nordic (2).