Fórum Como adicionar registros em uma ibquery #53004

27/09/2005

0

Galera é o seguinte eu uso uma IBquery para procurar na base os clientes cadastrados e trago somente os dados basicos assim:

+-----------------------
| IBquery
| Nome, Fone, CNPJ
+-----------------------

ai quando eu detalho o cliente X eu troco de Panel e mostro os dados completos dele, que vem de uma IBdataset assim:
+-----------------------
| IBdataSet
| Nome, Fone, CNPJ, Cidade, Endereco, Bairro, Contato, (etc)
+-----------------------

Pergunta, como posso fazer uma inclusão na IBdataSet e atualizar na IBquery sem passar a instrução sql na base novamente,

Ps: ´passar a instrução sql na base novamente´ que digo seria dar um ´select Nome, Fone, CNPJ from clientes´

Grato tento fazer isso pra evitar que venha informações desnecessária na transação, pois grande parte da rede opera com ADSL...

Thanks


Marcos Fernando

Marcos Fernando

Responder

Posts

28/09/2005

Afarias

|Pergunta, como posso fazer uma inclusão na IBdataSet e atualizar na
|IBquery sem passar a instrução sql na base novamente,

não pode.


|tento fazer isso pra evitar que venha informações desnecessária na
|transação, pois grande parte da rede opera com ADSL...

La vai uma [u:1c7f91917e]dica[/u:1c7f91917e]: use tabela uma tabela memória para mostrar as informações do IBQuery (por exemplo, um ClientDataSet)

Ao abrir o IBQuery jogue os dados obtidos para a tabela de memória (se estiver usando um ClientDataSet/DataSetProvider, basta abrir o ClientDataset e ele faz isso automaticamente) ... então, quando um novo registro for inserido no IBDataSet, pegue os dados desse novo registro (no buffer do DataSet) e insira (append) na tabela de memória 8)


T+


Responder

Gostei + 0

28/09/2005

Marcos Fernando

Grato mestre eu estava usando o componente errado,,
hehe

Thanks deu blz


Responder

Gostei + 0

29/09/2005

Marcos Fernando

Galera é o seguinte,

Nunca usei o componente ClientDataSet, acabei de colocar no form e coloquei no CommandText := ´SELECT INDICE, NOMERAZAO, fone FROM FORNECEDORES ORDER BY NOMERAZAO´;

ok abriu a minha tela de procura com os dados básicos, agora se o usuário selecionar um fornecedores e detahar preciso que a IBDataSet traga os datos completos tais como ´´SELECT * FROM FORNECEDORES ORDER BY NOMERAZAO´ ai eu posso fazer a alteração dos dados, e assim que gravar preciso atualizar o ClientDataSet..

Já estou desde ontem tentando e nada, se algum tiver um demo ou até mesmo como posso fazer me ajudaria mui.

Uso IBX


Responder

Gostei + 0

29/09/2005

Afarias

vamos por partes... qual o primeiro problema exatamente q vc está enfrentando?


T+


Responder

Gostei + 0

29/09/2005

Marcos Fernando

Vamos então seguinte:
eu qro um ClientDataSet com os dados básicos e eu pegando o indice eu abra o IBdataSet com todos os dados pra alteração até ai blz.


So não sei como tratar o ClientDataSet + DataSetProvider + IBdataSet

pois mudo o ClientDataSet.CommandText := ´SELECT INDICE, NOMERAZAO, fone FROM FORNECEDORES ORDER BY NOMERAZAO´;

ai ele muda o ClientDataSet.SelectSQL.text também, só que quero que o ClientDataSet traga todas as informações,

é isso

Thanks


Responder

Gostei + 0

29/09/2005

Afarias

|So não sei como tratar o ClientDataSet + DataSetProvider + IBdataSet

O clientDataSet deve estar ´ligado´ ao IBQuery e não ao IBDataSet

Apenas defina o SQL da Query e ligue o Provider a Query e o CDS ao Provider, então abra o CDS.

Quando desejar alterar um registro do CDS pegue o código do registro selecionado e jogue no Where do IBDataSet, abrindo no IBDataSet todos os dados daquele registro.

Ao terminar a alteração no IBDataSet (after post?) copie as informações do IBDataSet para o registro do CDS (Edit ... Post)

Se o usuário pedir NOVO, abra o IBDataSet sem registros (WHERE CODIGO=0 ?) e dê um Append nele, quando o usuário gravar (After post ?) dê um append no CDS e copie os registros do IBDataSet para ele.

Sempre depois que coiar os registros do IBDataSet, se não for mais usá-lo FECHE! (commit na transação)

é isso!

T+


Responder

Gostei + 0

29/09/2005

Marcos Fernando

Ok mestre deu certinho do jeito que eu queria,,,


Grato mesmo


Responder

Gostei + 0

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

Aceitar