现在有两个Access数据库A和B,现在我想把A库里N个表导到B表中,说明:A库和B库里的所有表的结构都一样,我用dataset的clone,克隆A库中的表color,我改clone后的数据再保存(本意是要保存所有数据到B库中表color里),却保还是保存到A库中的color表中. 用ADOConnection1,ADOConnection2连接A库和B库
两ADOQuery1,ADOQuery2分别连接ADOConnection1(A库),ADOConnection2(B库)
ADOQuery2.clone(ADOQuery1); 此时ADOQuery2已有ADOQuery1的数据,修改值却还是保存到A库中,但我ADOQuery2连接的是ADOConnection(连接B库) ADOConnection2.BeginTrans;
try
ADOQuery2.Post;
ADOQuery2.UpdateBatch(arAll);
ADOConnection2.CommitTrans;
except
ADOConnection2.RollbackTrans;
end; 还是保存到了A库中.. 为什么???
两ADOQuery1,ADOQuery2分别连接ADOConnection1(A库),ADOConnection2(B库)
ADOQuery2.clone(ADOQuery1); 此时ADOQuery2已有ADOQuery1的数据,修改值却还是保存到A库中,但我ADOQuery2连接的是ADOConnection(连接B库) ADOConnection2.BeginTrans;
try
ADOQuery2.Post;
ADOQuery2.UpdateBatch(arAll);
ADOConnection2.CommitTrans;
except
ADOConnection2.RollbackTrans;
end; 还是保存到了A库中.. 为什么???
qryOld.SQL.Add('select YSid,YSname from IYScolor ');
qryOld.ExecSQL;
qryOld.Open; qryNew.SQL.Clear;
qryNew.SQL.Add(SQL_IYScolor);
qryNew.Open; qryNew.Clone(qryOld,ltUnspecified);
qryNew.Clone(qryOld); if not(qryNew.State in [dsEdit, dsInsert]) then qryNew.Edit;
conNew.BeginTrans;
try
qryNew.Post;
qryNew.UpdateBatch(arAll);
conNew.CommitTrans;
except
conNew.RollbackTrans;
end;