DbGrid X Query
Pessoal,
é o seguinte...
estou usando um DbGrid para inserir os dados.. só que uso IBDataSet e é preciso definir um ´key field´ para fazer alterações, coisas do tipo...
ai o que acontece como eu não posso definir nenhum desses dados que são inseridos pois podem ser iguais então eu trabelhei com um campo ´controle´ só que ai que vem o problema... se é o dbgrid q insere os dados esse campo não é preenchido, pois o sistema tem q preencher como um autoincremento... é quando vou salvar(comitar) não posso edita-lo pq nada é gravado pq o campo controle esta vazio...
só lembrando não posso usar trigger e generator como autoincremento porque tenho q alterar os dados antes de fechar o banco...
alterar os dados que estão atualmente na query!
alguem tem alguma sugestão para poder salvar corretamente os dados???
ajudem por favor!!!!
é o seguinte...
estou usando um DbGrid para inserir os dados.. só que uso IBDataSet e é preciso definir um ´key field´ para fazer alterações, coisas do tipo...
ai o que acontece como eu não posso definir nenhum desses dados que são inseridos pois podem ser iguais então eu trabelhei com um campo ´controle´ só que ai que vem o problema... se é o dbgrid q insere os dados esse campo não é preenchido, pois o sistema tem q preencher como um autoincremento... é quando vou salvar(comitar) não posso edita-lo pq nada é gravado pq o campo controle esta vazio...
só lembrando não posso usar trigger e generator como autoincremento porque tenho q alterar os dados antes de fechar o banco...
alterar os dados que estão atualmente na query!
alguem tem alguma sugestão para poder salvar corretamente os dados???
ajudem por favor!!!!
Mrcdlf
Curtidas 0
Respostas
Ehvasc
29/07/2004
Caro colega,
pelo que eu entendi todo o problema é causado pelo DBGrid, uma sugestão seria usar o string grid e fazer os controles que vc precisa manualmente, e quando for salvar usa o campo de controle que vc precisa sem problemas.
Espero ter ajudado. Boa sorte.
pelo que eu entendi todo o problema é causado pelo DBGrid, uma sugestão seria usar o string grid e fazer os controles que vc precisa manualmente, e quando for salvar usa o campo de controle que vc precisa sem problemas.
Espero ter ajudado. Boa sorte.
GOSTEI 0
Mrcdlf
29/07/2004
Caro colega,
pelo que eu entendi todo o problema é causado pelo DBGrid, uma sugestão seria usar o string grid e fazer os controles que vc precisa manualmente, e quando for salvar usa o campo de controle que vc precisa sem problemas.
Espero ter ajudado. Boa sorte.
bem mais usar string grid ficara bem mais trabalhoso...
terei q passar todos os dados um a um para ser salvo estou certo?
tenho outra duvida sobre strig grid... é possivel não definir o tamanho, como se fosse um dbgrid quando o usuario for movimentando ir aumentando as linhas?????
GOSTEI 0
Catunda
29/07/2004
Colega, não sei por qual motivo vc não poderia usar o generator para controlar o campo de autoincremento.
Utilizo bastante o IBx e DBGrid para manutenção das tabelas.
Vc só precisa usar a função Gen_id().
Para isso precisa observar o seguinte: no evento BeforePost do componente que esteja ligado ao DBGrid (pode ser uma IBQuery,IBClientDataset,...) vc testa o campo de controle, se ele for maior que zero não precisa de nenhum tratamento e se ele for 0(zero) ou Nulo vc executa uma IBQuery ou IBSQL com o seguinte codigo:
select Gen_id(generator,1) as newcodigo from RDB$DATABASE
depois é só atribuir o valor de newcodigo à variavel ligada ao campo no DBGrid.
Valeu?
Caso ainda tenha dúvidas entre em contato que lhe envio um pequeno sisteminha como exemplo.
Utilizo bastante o IBx e DBGrid para manutenção das tabelas.
Vc só precisa usar a função Gen_id().
Para isso precisa observar o seguinte: no evento BeforePost do componente que esteja ligado ao DBGrid (pode ser uma IBQuery,IBClientDataset,...) vc testa o campo de controle, se ele for maior que zero não precisa de nenhum tratamento e se ele for 0(zero) ou Nulo vc executa uma IBQuery ou IBSQL com o seguinte codigo:
select Gen_id(generator,1) as newcodigo from RDB$DATABASE
depois é só atribuir o valor de newcodigo à variavel ligada ao campo no DBGrid.
Valeu?
Caso ainda tenha dúvidas entre em contato que lhe envio um pequeno sisteminha como exemplo.
GOSTEI 0