Tabela Temporaria

Delphi

04/01/2006

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

Muito obrigado pessoal.


Jmarcelo_8

Jmarcelo_8

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

04/01/2006

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


GOSTEI 0
Jmarcelo_8

Jmarcelo_8

04/01/2006

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

Muito Obrigado.


GOSTEI 0
Rômulo Barros

Rômulo Barros

04/01/2006

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;



GOSTEI 0
Jmarcelo_8

Jmarcelo_8

04/01/2006

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.


GOSTEI 0
Salsa

Salsa

04/01/2006

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 :)


GOSTEI 0
Jmarcelo_8

Jmarcelo_8

04/01/2006

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.


GOSTEI 0
Alesabino

Alesabino

04/01/2006

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.


GOSTEI 0
Jmarcelo_8

Jmarcelo_8

04/01/2006

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

Muito obrigado.


GOSTEI 0
Thomaz_prg

Thomaz_prg

04/01/2006

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.


GOSTEI 0
Thomaz_prg

Thomaz_prg

04/01/2006

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.


GOSTEI 0
Martins

Martins

04/01/2006

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!!


GOSTEI 0
POSTAR