GARANTIR DESCONTO

Fórum store procedure, com muitos parametros. #52158

12/08/2005

0

Bom Dia,
Tenho um relatório, que utiliza +- 10 tabelas,
gostaria de saber se é válido fazer uma store procedure, para consultar os parametros, e inserir em uma tabela temporária os valores:

Exemplo:
Passo um parametro (ID da tabela1) , e a store procedure vai fazer um select na tabela que o ID pertence, pegar o valor do campo que eu preciso, e salvar em uma tabela temporária.

Alguém pode passar algum exemplo parecido ?

Fico aguardando,
Obrigado


Lynx

Lynx

Responder

Posts

12/08/2005

Afarias

|gostaria de saber se é válido fazer uma store procedure, para consultar
|os parametros, e inserir em uma tabela temporária os valores:

vc quer fazer um relatório ou alterações no banco???

coloque mais informações sobre seu problema ou o q deseja.


T+


Responder

Gostei + 0

12/08/2005

Lynx

Desculpe afarias, realmente interpretei mau.

Seguinte, quando vou mandar imprimir um relatório.

Eu faço um for no grid, e vou inserindo os produtos na tabela de itens do produto.
Tudo está funcionando perfeitamente.

Mas na hora de fazer o relatório, eu posso colocar um campo DBtext, mas vai mostrar os ID, ao invés do nome do produto.
Deu para entender ?

Então eu queria fazer algo, que no momento que salva, o pedido.
Ele inserir os NOMES, dos campos em uma tabela temporária, e quando fechar posso excluir os registros dessa tabela.

No caso vou usar a tabela para colocar o nome dos campos:
Exemplo:
No pedido eu coloco o ID do cliente.
Então na tabela temporária vou colocar um campo com o nome do cliente.


Assim no QREPORT, vou conseguir mostrar com mais facilidade os campos.


Tem uma maneira melhor para fazer isso ?
Realmente onde eu trabalhava, faziam desta maneira, por falta de conhecimento talvez.
Deve ter uma maneira melhor sem o uso da tabela temporária.
Mas se usar isso, deveria ser com uma procedure, para ficar mais rápido.

No mais é isso, ai

Fico Aguardando, e Muito Obrigado.


Responder

Gostei + 0

12/08/2005

Afarias

|Tem uma maneira melhor para fazer isso ?

bom, pelo q estou entendendo tudo q vc precisa é um JOIN!

se vc tem uma tabela de ´produtos´:

id, descricao, ...etc...

e uma tabela de ´itens_venda´:

item, id_venda, id_produto, qtde, ...etc...

tudo o q vc precisa no seu relatório é um join entre as tabelas

select i.item, p.descricao, i.qtde from itens_venda i
inner join produtos p on (p.id=i.id_produto)
where i.id_venda = 12345;


T+


Responder

Gostei + 0

12/08/2005

Lynx

Só que no qreport ?
como vou fazer aparecer vários itens, desse modo...

O Problema é no QREPORT...
da para fazer JOIN mostrando em text normal no relatório ?

Porque só funciona com DBTEXT, e se colocar o dbtext, no qreport, vai aparecer os ID, ao invés do nome.

Obrigado


Responder

Gostei + 0

12/08/2005

Afarias

|Só que no qreport ?

Na query!!!


|como vou fazer aparecer vários itens, desse modo...

É pra isso q servem as querys não?


|O Problema é no QREPORT...
|da para fazer JOIN mostrando em text normal no relatório ?

Os dados não tem nada a ver com o relatório! Vc executa este SQL para ter os dados q vão alimentar o relatório!


|Porque só funciona com DBTEXT, e se colocar o dbtext, no qreport, vai
|aparecer os ID, ao invés do nome.

No DBText vc configura q campo vc quer mostrar!


T+


Responder

Gostei + 0

12/08/2005

Lynx

Realmente, é verdade, mas eu não entendo o motivo de criar essa tabela temporária...
Eu já vi isso em muitos lugares.
Só que vou fazer com Rave, complica um pouco mais.

Mesmo assim muito Obrigado


Responder

Gostei + 0

12/08/2005

Lynx

Comecei o post com Qreport, e terminei com Rave..
Realmente a dúvida era só essa da tabela temporária.
É que em 2 empresas eu vi, que criavam tabelas temporárias para relatorios.

Agora estou fazendo com rave, porque fica mais bonito o preview, mas estou analizando o fortes report, que um colega do fórum indicou.

Obrigado afarias


Responder

Gostei + 0

12/08/2005

Afarias

|Realmente, é verdade, mas eu não entendo o motivo de criar essa
|tabela temporária...

eu muito menos...


|Eu já vi isso em muitos lugares.

nunca vi isso... (ainda bem!) ;-)


|Só que vou fazer com Rave, complica um pouco mais.

pode até complicar na ´interface´ mas na parte de dados não importa a ferramenta de relatório, é sempre a mesma coisa.


|É que em 2 empresas eu vi, que criavam tabelas temporárias para
|relatorios.

as vezes pode ser necessário criar tabelas temporárias para um relatório, mas não nesses casos simples -- montar referências cruzadas é um caso comum.

Entretanto note q estas tabelas temporárias devem ser em memória e nunca no servidor de dados.


T+


Responder

Gostei + 0

12/08/2005

Lynx

Show de bola, segunda feira vou procurar um livro bom sobre FB.

Você pode me dar um exemplo como seria essa tabela temporária em memória ?

Valeu 8)


Responder

Gostei + 0

12/08/2005

Afarias

|Você pode me dar um exemplo como seria essa tabela temporária em
|memória ?

existem vários componentes q permitem criar tabelas de memória, tem no RX por exemplo, mas uma ótima opção é o ClientDataSet q vem e algumas versões do Delphi.

Vc pode difinir os campos em tempo de projeto ou no código (usando a propriedade FieldDefs), chamar um CreateDataSet e então usar a tabela normalmente.


T+


Responder

Gostei + 0

12/08/2005

Lynx

O RX, que você refere é o componente, RXLib ?
é que estou fazendo o possivel para não depender de componentes de terceiros...


Responder

Gostei + 0

13/08/2005

Afarias

|O RX, que você refere é o componente, RXLib ?

Sim


|é que estou fazendo o possivel para não depender de componentes de
|terceiros...

Neste caso veja se seu Delphi tem ClientDataSet, se tiver use-o. É ótimo.


Outra grande opção é o componente kbmMemTable da Component4Developers, é muito bom e OpenSource:

http://www.components4programmers.com/products/kbmmemtable/index.htm


T+


Responder

Gostei + 0

13/08/2005

Lynx

Show de bola, Valeu Afarias !


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar