RES: [firebase-br] Dúvida Sobre Tabelas Temporárias

Rubem Rocha rrocha em fpf.br
Qui Abr 14 16:31:39 -03 2005


O TClientDataSet permite que vc crie uma tabela temporária em memória para efetuar seus processamentos intermediários. Para criar os campos, use a propriedade FieldDefs (consulta mais sobre como definir campos nessa propriedade indo no help do Delphi e buscando informações sobre a classe TFieldDefs). Para salvar os dados localmente, use o método SaveToFile(), e para recuperar use LoadFromFile(). Os dados podem ser salvos em formato binário ou XML.

Para que não ocorra este tipo de problema com campos agregados, uma sugestão seria salvar os dados do ClientDataSet, fechá-lo, redefinir oo campo agregado em tempo de execução (isso só pode ser feito com o clientdataset fechado), e depois reabrí-lo. Se o aggregate é baseado em um índice, ao invés de filtro, use SetRange() para limitar apenas os registros que correspondem às chaves que vc determinar, ou seja, filtre pela chave do índice que vc for usar.

[]s

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em nome de Henrique Sinapse
Enviada em: quinta-feira, 14 de abril de 2005 14:57
Para: Forum do Interbase
Assunto: Fw: [firebase-br] Dúvida Sobre Tabelas Temporárias



Caro Rubem,

Eu conheço bem o componente TCLIENTDATASET, aliás é o componente que eu uso atualmente. SQLQuery + DataSetProvider + ClientDataSet. O problema é que eu preciso de um meio para criar uma tabela temporária. Mas não poderia ser em minha base de dados. Pois o banco fica em outro lugar e é acessado por intermédio de uma LP. 

Eu preciso de um tabela temporária com a seguinte estrutura COD_FUNC, COD_PRODUTO, COD_ATIVO, QUANTIDADE onde em um clientdataset eu faço a inclusão destes registros e outro clientdataset eu preciso fazer uma consulta nessa mesma tabela com o seguinte código SQL: "SELECT COD_FUNC, COD_PRODUTO, SUM(QUANTIDADE) as TOTQUANTI From TABELA TEMPORARIA" para eu saber o total de produtos requisitados e travar quando exceder o valor estipulado pelo kit. Seria bom que essa tabela fique local no computador do usuário, assim eu poderia apagar após o uso.

Se eu for usar o SAVETOFILE para binário não poderia fazer essa consulta. Outra coisa, eu tentei usar o índice AGREGADO como alguns desta me orientaram, até que me dá o resultado que preciso, mas se eu for mudar de índice na propriedade INDEXFIELD ou apenas tentar filtrar os produtos já liberados como é o caso de minha aplicação, o índice de agregado perde o resultado e daí fica zero.

Como eu nunca precisei de algo assim, estou meio desorientado. Entende?

      Carlos Henrique Meireles
      Suporte de Sistemas
      Tel.: 21 - 8115-1584 
     

  ----- Original Message ----- 
  From: Rubem Rocha 
  To: FireBase 
  Sent: Thursday, April 14, 2005 2:57 PM
  Subject: RES: [firebase-br] Dúvida Sobre Tabelas Temporárias


  A edição 60 da revista ClubeDelphi mostra técnicas pra usar agrupamento de registros com TClientDataSet!
  []s
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://search.gmane.org/search.php?group=rebase

-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.10 - Release Date: 14/04/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.10 - Release Date: 14/04/2005
 

*************************************************************************

Esta mensagem, incluindo os seus anexos, contém informações confidenciais destinadas a indivíduo e propósito específicos, e é protegida por lei. Caso você não seja o citado indivíduo, deve apagá-la imediatamente. É terminantemente proibida a utilização, acesso, cópia ou divulgação não autorizada das informações presentes neste email.  As informações contidas nesta mensagem e em seus anexos são de responsabilidade de seu autor, não representando idéias, opiniões, pensamentos ou qualquer forma de posicionamento por parte da Fundação Desembargador Paulo Feitoza.

 

The information contained in this communication is confidential, is law protected, and is intended only for the business use of the addressee. If you have received this communication in error, please immediately delete it. It's forbidden the unauthorized use, access, copy or disclose of the information contained in this communication.  The content of this message is responsibility of the author, and does not represent ideas, opinions, thoughts or any kind of statement of Fundação Desembargador Paulo Feitoza.





Mais detalhes sobre a lista de discussão lista