Fórum Como adicionar registros em uma ibquery #53004
27/09/2005
0
+-----------------------
| 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
Curtir tópico
+ 0Posts
28/09/2005
Afarias
|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+
Gostei + 0
28/09/2005
Marcos Fernando
hehe
Thanks deu blz
Gostei + 0
29/09/2005
Marcos Fernando
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
Gostei + 0
29/09/2005
Afarias
T+
Gostei + 0
29/09/2005
Marcos Fernando
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
Gostei + 0
29/09/2005
Afarias
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+
Gostei + 0
29/09/2005
Marcos Fernando
Grato mesmo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)