Como se usa UpdateSQL e Cached Update?
Tenho Um DBGrid ligado a um IBQuery.
Quando realizo uma select os dados aparecem no DBGrid, porem eles não podem ser editados no DBGrid.
Preciso Realizar uma select e os dados poderem ser editados em um Grid.
Não posso usar o comando Locate a partir de um table pois outros dados ficarão visíveis.
Não estou encontrando uma solução para isso.
Devou usar outro componente do Interbase.
Um usuário do forum recomendou utilizar UpdateSQL e Cached Update.
Alguém sabe me ensinar como devo usar isso?
Obrigado pela ajuda
Quando realizo uma select os dados aparecem no DBGrid, porem eles não podem ser editados no DBGrid.
Preciso Realizar uma select e os dados poderem ser editados em um Grid.
Não posso usar o comando Locate a partir de um table pois outros dados ficarão visíveis.
Não estou encontrando uma solução para isso.
Devou usar outro componente do Interbase.
Um usuário do forum recomendou utilizar UpdateSQL e Cached Update.
Alguém sabe me ensinar como devo usar isso?
Obrigado pela ajuda
Ricardo Barbosa
Curtidas 0
Respostas
Fava
18/09/2003
Nunca utilizei UpdateSQL com IBX, a forma que fiz abaixo funciona ´perfeitamente´ com BDE.
Coloque um componente UpdateSql no seu form.
Associe sua Query a este componente.
Coloque sua query como cachedUpdates.
De dois cliques sobre o UpdateSql e mande gerar os SQLs de insert, update e delete, selecione campos chaves para atualização de sua tabela.
Após isto esqueça o UpdateSql e trabalhe direto na sua query, tipo:
Query1.Edit;
Query1.FieldByName(´Nome´).value = ´Teste´
Query1.Post;
No evento afterpost de sua query você deve fazer um applyupdates em seu banco de dados para que as alterações sejam gravadas/commitadas.
Coloque um componente UpdateSql no seu form.
Associe sua Query a este componente.
Coloque sua query como cachedUpdates.
De dois cliques sobre o UpdateSql e mande gerar os SQLs de insert, update e delete, selecione campos chaves para atualização de sua tabela.
Após isto esqueça o UpdateSql e trabalhe direto na sua query, tipo:
Query1.Edit;
Query1.FieldByName(´Nome´).value = ´Teste´
Query1.Post;
No evento afterpost de sua query você deve fazer um applyupdates em seu banco de dados para que as alterações sejam gravadas/commitadas.
GOSTEI 0
Fava
18/09/2003
Complementando......
Como BDE não é uma boa opção, tente programar com ClientDataset e IBX. Leia o artigo abaixo e veja as vantagens.
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=156
Como BDE não é uma boa opção, tente programar com ClientDataset e IBX. Leia o artigo abaixo e veja as vantagens.
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=156
GOSTEI 0