Fórum erro raised exception class TDBXError with message unknown ISC error 0 #535897
28/10/2015
0
Boa noite, estou fazendo uma consulta no bd para trazer dados que serão mostrados em um relatório fastreport. Na minha aplicação, tem o botão visualizar que tem o seguinte código:
procedure TfrmRelPC.btnVisualizarClick(Sender: TObject);
var sql : Tstringlist;
begin
inherited;
sql := Tstringlist.Create;
sql.Add('select a.cc_cod "código do pc", a.cc_emissao "dt. emissão", a.cc_referente "referente a", ');
sql.Add('a.cc_status "status", c.cc_cod "código do fornecedor", c.cc_nomecomum "nome", ');
sql.Add('p.cc_desc "condição de pagamento", u.cc_nome "aprovado por", a.cc_tipofrete "tipo do frete", ');
sql.Add('a.cc_valfrete "valor do frete", a.cc_valdespesas "valor das despesas", ');
sql.Add('a.cc_valseguro "valor do seguro", b.cc_item "item", d.cc_desc "produto", ');
sql.Add('b.cc_quant "quantidade", b.cc_valunit "valor unitário", b.cc_desconto "valor do desconto", ');
sql.Add('b.cc_valtotal "valor total", e.cc_desc "local", f.cc_nome "nome empresa", f.cc_logop "logo" ');
sql.Add('from pc a ');
sql.Add('inner join usuario u on u.cc_idusuario = a.cc_idaprovador ');
sql.Add('inner join condpag p on p.cc_idcondpag = a.cc_idcondpag ');
sql.Add('inner join contato c on c.cc_idcontato = a.cc_idfor ');
sql.Add('inner join pc_item b on b.cc_idpc = a.cc_idpc ');
sql.Add('inner join produto d on b.cc_idproduto = d.cc_idproduto ');
sql.Add('inner join tabela_item e on b.cc_idlocal = e.cc_idtabela_item ');
sql.Add('inner join empresa f on a.cc_idempresa = f.cc_idempresa ');
sql.Add('where a.cc_cod >= :docod and a.cc_cod <= :atecod');
dmRel.cdsPC.ParamByName('docod').AsString := edtDoCod.Text;
dmRel.cdsPC.ParamByName('atecod').AsString := edtAteCod.Text;
dmRel.cdsPC.Close;
dmRel.cdsPC.CommandText := sql.Text;
dmRel.cdsPC.Open;
sql.Destroy;
frxReportPC.LoadFromFile('C:\Users\Name_User\Documents\Embarcadero\Studio\15.0\Projects\Client\Relatório de Pedidos de Compras.fr3');
frxReportPC.ShowReport();
end;
o erro ocorre no monento que dou um open no cdsPC. Quando executo o sql no IBExpert, roda normalmente. Alguém pode me dar uma ajuda?
procedure TfrmRelPC.btnVisualizarClick(Sender: TObject);
var sql : Tstringlist;
begin
inherited;
sql := Tstringlist.Create;
sql.Add('select a.cc_cod "código do pc", a.cc_emissao "dt. emissão", a.cc_referente "referente a", ');
sql.Add('a.cc_status "status", c.cc_cod "código do fornecedor", c.cc_nomecomum "nome", ');
sql.Add('p.cc_desc "condição de pagamento", u.cc_nome "aprovado por", a.cc_tipofrete "tipo do frete", ');
sql.Add('a.cc_valfrete "valor do frete", a.cc_valdespesas "valor das despesas", ');
sql.Add('a.cc_valseguro "valor do seguro", b.cc_item "item", d.cc_desc "produto", ');
sql.Add('b.cc_quant "quantidade", b.cc_valunit "valor unitário", b.cc_desconto "valor do desconto", ');
sql.Add('b.cc_valtotal "valor total", e.cc_desc "local", f.cc_nome "nome empresa", f.cc_logop "logo" ');
sql.Add('from pc a ');
sql.Add('inner join usuario u on u.cc_idusuario = a.cc_idaprovador ');
sql.Add('inner join condpag p on p.cc_idcondpag = a.cc_idcondpag ');
sql.Add('inner join contato c on c.cc_idcontato = a.cc_idfor ');
sql.Add('inner join pc_item b on b.cc_idpc = a.cc_idpc ');
sql.Add('inner join produto d on b.cc_idproduto = d.cc_idproduto ');
sql.Add('inner join tabela_item e on b.cc_idlocal = e.cc_idtabela_item ');
sql.Add('inner join empresa f on a.cc_idempresa = f.cc_idempresa ');
sql.Add('where a.cc_cod >= :docod and a.cc_cod <= :atecod');
dmRel.cdsPC.ParamByName('docod').AsString := edtDoCod.Text;
dmRel.cdsPC.ParamByName('atecod').AsString := edtAteCod.Text;
dmRel.cdsPC.Close;
dmRel.cdsPC.CommandText := sql.Text;
dmRel.cdsPC.Open;
sql.Destroy;
frxReportPC.LoadFromFile('C:\Users\Name_User\Documents\Embarcadero\Studio\15.0\Projects\Client\Relatório de Pedidos de Compras.fr3');
frxReportPC.ShowReport();
end;
o erro ocorre no monento que dou um open no cdsPC. Quando executo o sql no IBExpert, roda normalmente. Alguém pode me dar uma ajuda?
Ariston Soares
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)