| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Копия данных из одного DataSet в другой |
| Автор: Dimyan 25.2.2005, 08:53 |
| Есть ли способ сделать копию данных из одного датасета в другой (компанентов InterBase) не перечисляя все поля типа dset1field1 := dset2field1 а что то типа dset1 := dset2 dset1.Post; если структура этих dataSet'ов обсалютно одинаковая? Ну чтоб не переписывать все двадцать полей со знаком равенства |
| Автор: Kesh 25.2.2005, 09:55 |
| Dimyan Разная реализация в зависимости от целей... Напиши поподробнее для чего нужно... |
| Автор: Dimyan 25.2.2005, 10:32 |
| выглядит это так В программе два IBDataBase (например DB1 и DB2) DB1 подключена к одной БД DB2 к другой в самих базах данных есть одинаковые таблицы (DB1.T1 и DВ2.T1) данные загружаются в DataSet которых соответственно тоже два, для каждой таблицы задача взять все данные из dset1 (таблица DB1.T1) и вставить их полностью в dset2 (таблица DB2.T1) т.е. сделать полную копию данных одной таблици в другую |
| Автор: Dimyan 25.2.2005, 11:04 |
| Я думаю что для этой цели бы подошол TBatchMove но как я понял он не работает не с FIBPlus не даже с InterBase Express |
| Автор: Dimich 25.2.2005, 11:39 | ||
| А зачем перечислять поля ручками? Может программно будет удобнее перечислить? Мы же можем получить имена полей? По такому принципу:
|
| Автор: Guest 25.2.2005, 16:27 |
| да и зачем имена полей? Table2.Insert; For j:=0 to Query1.FieldCount-1 do Table2.Fields[j].asString:=Query1.Fields[0].asString; |
| Автор: bursa 25.2.2005, 16:28 |
| Извините, Table2.Fields[j].asString:=Query1.Fields[j].asString; ^ |