Tabela Temporaria

04/01/2006

Como que eu faço para criar uma tabela temporaria na memoria usando o delphi.

Muito obrigado pessoal.


Jmarcelo_8

Respostas

04/01/2006

Rômulo Barros

Utilizando o componente [b:323915e9e2]TClientDataSet[/b:323915e9e2] !!!


Responder Citar

04/01/2006

Jmarcelo_8

Mas como que uso este componente, eu nunca usei ele.
Será que vc tem algum exemplo para me fornecer.

Muito Obrigado.


Responder Citar

04/01/2006

Rômulo Barros

Adicione um TClientDataSet ( Paleta Data Access).
Adicione dois fields ( Codigo - Integer e Nome - String )
Click com o botão direito sobre o componente e selecione a opção ´CreateDataSet´;

Adicione um botão ao formulário e configure assim:

procedure TForm1.Button1Click(Sender: TObject);
begin
    ClientDataSet1.Insert;
    ClientDataSet1Codigo.AsInteger := 1;
    ClientDataSet1Nome.AsString := ´Rômulo Barros´;
    ClientDataSet1.Post;
end;



Responder Citar

11/01/2006

Jmarcelo_8

Deu certo a criação da tabela, muito obrigado.
Mas agora eu quero fazer uma consulta sql na tabela, como que eu faço?

Muito obrigado pela atenção.


Responder Citar

11/01/2006

Salsa

ueh ae vc escolhe ... usando uma query e rodando um comando SQL ou locate ou sei la ... eh a mesma coisa q vc trabalhar com BDE ou outros bancos de dados :)


Responder Citar

13/01/2006

Jmarcelo_8

Mas esta tabela que eu criei, eu nem disse qual o nome dela, somente criei os campos, e vou usar a query do bde, no (select * from ) qual tabela vou dizer, ou eu devo estar fazendo alguma coisa de errado.
Se alguem tiver alguma luz agradeço antecipadamente.

Marcelo.


Responder Citar

15/01/2006

Alesabino

Mas esta tabela que eu criei, eu nem disse qual o nome dela, somente criei os campos, e vou usar a query do bde, no (select * from ) qual tabela vou dizer, ou eu devo estar fazendo alguma coisa de errado. Se alguem tiver alguma luz agradeço antecipadamente. Marcelo.


Alguém sabe responder essa questão?
Eu também tenho essa dúvida.


Responder Citar

23/01/2006

Jmarcelo_8

Será que alguem pode dar alguma ajuda sobre este tópico .

Muito obrigado.


Responder Citar

23/01/2006

Thomaz_prg

Colegas,

Pelo que sei, não é possível ter esse tipo de tratamento, pois não há uma tabela física envolvida. Ou seja, não tem como os dados serem tratados. Creio eu que a única forma é vocês utilizarem de outros métodos de busca como Locate.


Responder Citar

23/01/2006

Thomaz_prg

Desculpem, também havia me esquecido do Filter, que pode ser usado.
Por exemplo, se na sua tabela tem-se 2 campos, Codigo e Nome, e você quer emitir uma lista de todos os nomes que contenham ´COSTA´ no sql ficaria assim:
SELECT * FROM TABELA WHERE NOME LIKE ´¬COSTA¬´


Pois é, usando o Filter ficaria assim:
NOME LIKE ´¬COSTA¬´

Não esquecendo que, para ativar o filtro a propriedade Filtered deve ser setada para true e false, para desfazer o filtro.

Espero que isto ajude.


Responder Citar

23/01/2006

Martins

Colegas, Pelo que sei, não é possível ter esse tipo de tratamento, pois não há uma tabela física envolvida. Ou seja, não tem como os dados serem tratados. Creio eu que a única forma é vocês utilizarem de outros métodos de busca como Locate.


O q o colega ressalta é verdadeiro, pois, se os dados estão no ClientDataset e este os matem em memória, ou seja não uma tabela física para q se possa usar uma instrução SQL, acho q o melhor mesmo seria utilizar o Locate como citado pelo colega [b:572459d760]thomaz_prg[/b:572459d760]

Boa sorte!!


Responder Citar