Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перекачка даных с одной базе на другой в рантайм [D5, IB6.x]


NDeu ©   (2003-02-20 15:51:00) 

У меня эст MyBaseSource.gdb и MyBaseTarget.gdb. Обо они SQLDialect 3.
У каждая эст тейбл MyTable
Я делаю примерно так:
IBDataSet_Source.SelectSQL.Text:="select Field1,...,Fieldn from MyTable";
IBSQL_Target.SQL.Text:="insert into MyTable (Field1,...,Fieldn) values (:Field1,...,:Fieldn)";
IBDataSet_Source.Open;
while not IBDataSet_Source.EOF
do begin
For i:=0 to IBDataSet_Source.FieldCount-1 do
IBSQL_Target.Params[i].Value:=IBDataSet_Source.Fields[i].Value;
IBSQL_Target.ExecQuery;
IBDataSet_Source.Next;
end;


Проблема: Когда Type Field-а Numeric(10,0) и больше 10 в MyBaseTarget эти филды имеют value=null!!!

Вопрос: 1.Как с этим боротся?
2.Можно ли сделат перекачки не тоская вес набор на клиенте?

Спасиба на отклик!


NDeu   (2003-02-20 17:52:00) [1]

AlexSerp © (20.02.03 17:03)
Когда Type Field-а Numeric(10,0) и больше 10 дает Unsupported feature :(
Беда кажется, в том, что Delphi5 не поддерживает этот Type


AlexSerp   (2003-02-20 17:03:00) [2]

Немножко ошибся.
IBSQL_Target.DataSource :=DataSource, который связан с IBDataSet_Source.

Саня


AlexSerp   (2003-02-20 17:01:00) [3]

IBSQL_Target.DataSource :=IBDataSet_Source.DataSource
И в цикле это все сделай.
Перед циклом IBSQL_Target.Prepare, после IBSQL_Target.UnPrepare
И не надо будет параметры подпихивать.

Саня


Наверх

Титульная страница Поиск, карта сайта Написать письмо