Gravar Dados num RxMemoryData

Delphi

25/01/2007

Saudações,
estou usando Delphi 7 Enterprise, PostGreSQL 8.1 e a paleta Zeos 6.5.1. Estou realizando uma consulta e gostaria de jogar todo o resultado numa tabela temporária. Estou usando o seguinte código:
vsql := ´select ctd.cid_usu, trim(ctd.cplano) || ´´ ´´ || trim(ctd.cplanop) as cplano, TC.Cnome_contabil AS cnome_contabil, to_char (ctd.ddata,´´MM/YYYY´´) as cmes, ´;
     vsql := vsql + ´ctd.ddata, trim(h.cnome_contabilhist) || ´´ - ´´ || trim(ctd.ccomplemento) as cnome_contabilhist, ctd.cdocumento, ´;
     vsql := vsql + ´trim(ctd.cplanop) || ´´ ´´ || trim(ctd.cplanocp) as cplanop, ctd.ndebito, ctd.ncredito, ´;
     vsql := vsql + ´trim(ctd.cplano) || ´´ ´´ || trim(ctd.cplanop) || ´´ ´´ || to_char (ctd.ddata,´´MM/YYYY´´) as cgrupo, ´;
     vsql := vsql + ´ctd.cplano as cplano1, ctd.cplanoc as cplanoc1, ´;
     vsql := vsql + ´trim(TCC.Cnome_centrocusto) AS cnome_centrocusto ´;
     vsql := vsql + ´from ct_diario ctd ´;
     vsql := vsql + ´left join historico h on ctd.cid_contabilhist = h.cid_contabilhist ´;
     vsql := vsql + ´left join tcentrocusto tcc on ctd.cplanoc = tcc.cplanoc ´;
     vsql := vsql + ´left JOIN Tcontabil TC on ctd.cplano = TC.Cplano ´;
     vsql := vsql + ´where (ctd.ddata >= ´´´ + formatdatetime(´mm/dd/yyyy´, strtodatetime(edDtIni.text)) + ´´´ and ctd.ddata <= ´´´ + formatdatetime(´mm/dd/yyyy´, strtodatetime(edDtFim.text)) + ´´´) ´;

Depois eu jogo a variável numa função que eu criei e tento jogar na tbTemp:
AbrirQuery2(qyCons, DM.ZCon, vsql);

     qyLimpa := NovaQuery(DM.ZCon);
     ExecQuery(qyLimpa, ´delete from x_razao where cid_usu = ´´´ + _Ccid_usu + ´´´ ´);

     RxMem1.LoadFromDataSet(qyCons,0,lmCopy);

     ZX_Razao.Active     := false;
     ZX_Razao.Connection := DM.ZCon;
     ZX_Razao.TableName  := ´x_razao´;
     ZX_Razao.Active     := true;

     RxMem1.SaveToDataSet(ZX_Razao, RxMem1.RecordCount);


Só que quando uso lmCopy dá o seguinte erro : ´Field cplano cannot be modified´ e quando uso lmAppend não dá erro mas tb não grava nada ficam quase 3000 linhas todas em branco.
Como faço pra gravar estes dados?
Muito obrigado.


Zooropa

Zooropa

Curtidas 0
POSTAR