Eu já consegui criar a SP que agrupa os dados, cria uma nova tabela e insere
os dados.
Mas tenho este problema para retornar os dados que são gerados para
o Delphi.
O que eu fiz para funcionar (meio gambiarra) foi criar ao invés de uma
tabela temporária, uma normal, e primeiro eu rodo a SP e depois abro a
tabela normalmente.
Funciona, mas assim tenho os seguintes problemas:
- Como não tenho retorno, não sei se a tabela tem realmente os dados mais
atuais
- Não sei quantos registros foram criados
- E se mais de usuário chamar o relatório (teria que fazer uma tabela por
usuário)?
- Sempre fico com mais tabelas do que preciso, pois fica com um lixo (tabela
com dados gerados)
- Quando eu vou apagar esta tabela

Você sabe que as vezes estas gambiarras as vezes acabam trazendo muitos
problemas e dão no final das contas muito mais trabalho do que fazer o
processo correto.
Parece bom o componente que você indicou, mas por enquanto não posso comprar
ele.



2008/5/7 Eduardo Silva dos Santos <[EMAIL PROTECTED]>:

>   O problema é que nem o ADO nem o Zeos 6.5 tem a capacidade de retornar
> um
> ResultSet
>
> o zeos 6.5 é compativel com mysql 4.1 que nao retornava ResultSet em SP.
>
> o ADO vai depender do Driver ODBC, mas nunca fiz testes a fundo, até
> porque
> eu não aceito usar Acesso à um banco de dados via ODBC quanto tempo a
> opção
> de acessar nativamente e ter pelo menos 70% a mais de desempenho.
>
> quanto ao seu problema, a solução que será usada na SP vai ser bem
> parecida
> com a que vc fez no Delphi.
>
> 2008/5/7 Benn Alle <[EMAIL PROTECTED] <bennalle%40gmail.com>>:
>
>
> > Na verdade tanto faz para mim usar o ADO ou Zeos, o que eu preciso é que
> > funcione isso.
> >
> > O Problema que eu tenho que resolver é o seguinte:
> > Eu tenho uma tabela com os campos, máquina, tipo e valor,
> > Existem dois tipos apenas tipo "A" e Tipo "B"
> > existem várias ocorrências nesta tabela com a mesma máquina e os mesmos
> > tipos,
> > eu agrupo por máquina e tipo e somo o valor:
> > Tenho que retornar uma tabela com os seguintes campos
> >
> > Maquina; TotalValorTipoA, TotalValorTipoB
> >
> > Exemplo
> > Tabela Original
> >
> > Máquina Tipo Valor
> > MAC01 A 1,00
> > MAC01 B 2,00
> > MAC01 A 2,50
> > MAC02 A 1,50
> > MAC01 A 1,00
> > MAC02 B 2,00
> > MAC01 A 2,50
> > MAC02 A 1,50
> >
> > Agrupando e fico com isto:
> >
> > MAC01 A 7,00
> > MAC01 B 2,00
> > MAC02 A 4,50
> > MAC02 B 2,50
> >
> > Até aqui sem problemas, dou um Group By Maquina, Tipo e fica certinho,
> > porém tenho que gerar uma tabela como resultado no seguinte formato
> >
> > Maquina; TotalValorTipoA; TotalValorTipoB;
> > MAC01 7,00 2,00
> > MAC02 4,50 2,50
> >
> > Eu resolvi um problema parecido criando pelo Delphi uma tabela
> temporária
> > com o segundo formato e por um loop dentro do Delphi, onde lia de
> registro
> > a
> > registro, cadastrava os dados nesta nova tabela.
> > Este é um processo que resolve, mas me parece uma gambiarra sem fim, e
> que
> > torna o processo bem lento.
> > Acredito que é possível fazer isso em SQL, e pensei em colocar isse
> código
> > a
> > ser gerado em uma SP ou SF, que quando chamada de dentro do Delphi,
> > retornasse a nova tabela para o DataSet (Eu uso o ZeosDB 6).
> > O que você acha? Já fez algo parecido? Será que é possível?
> > Por isso que eu precisava retornar os dados da SP no Dephi.
> > Só para chamar a SP não tem problema com o ZEOSDB, basta colocar em uma
> > TZQuery
> > CALL spNomeDaSP; e pronto, ele roda a SP, a naba é o retorno dos
> valores.
> >
> > Entendeu?
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> .......................................................
> Eduardo Silva dos Santos
> DRD Sistemas.
> (27) 3218-4201
> MSN: [EMAIL PROTECTED] <eduardo.drd%40gmail.com>
> Site: http://www.drdsistemas.com.br/
> .......................................................
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>



-- 
Agradecido,
Benn R. Alle .'.


[As partes desta mensagem que não continham texto foram removidas]

Responder a