|
07.07.2008, 15:42 | #1 |
Участник
|
Задача такая. Делаем импорт таблицы из одной базы в другую через ADO. Сразу скажу что надо сделать таким способом, без использования репликаций и стандартного импорт/экспорта. В принимающей базе создаётся конекшн, далее формируется Recordset в цикле обрабатываются строки где я знаю какие есть имена исходной таблицы. Чтобы не писать эквивалент полей в принимающей таблицы и исходной можно создать цикл где будут заполняться строки принимающей таблицы, примерно так:
X++: while (!adoRecordSet.EOF()) { for (col=0; col<=(adoFields.count()-1); col++) { adoField = adoFields.itemIdx( col ); fieldName = adoField.name(); value = adoField.value(); // ниже строчка какбы хотелось реализовать dimensions.(FieldNum(Dimensions, col)) = value; } dimensions.insert(); adoRecordSet.moveNext(); } Последний раз редактировалось yuriuss; 07.07.2008 в 15:44. |
|
07.07.2008, 16:07 | #2 |
Участник
|
а почему Вам не использовать имена полей как советовал gl00mie?
X++: hile (!adoRecordSet.EOF()) { for (col=0; col<=(adoFields.count()-1); col++) { adoField = adoFields.itemIdx( col ); fieldName = adoField.name(); value = adoField.value(); // ниже строчка какбы хотелось реализовать dimensions.(FieldName2id(tablenum(Dimensions), fieldName)) = value; } dimensions.insert(); adoRecordSet.moveNext(); }
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|