![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перекачка даных с одной базе на другой в рантайм [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
И не надо будет параметры подпихивать.
Саня