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]