Fórum [Ajuda] Não consigo gravar no bando de dados #475040
03/04/2014
0
Eu tenho uma tela com um campo edit que faz uma pesquisa e me mostra ela do dbgrid, uma vez que eu clico num campo do grid ele mostra todos os dados armazenados nos edits abaixo, até ai blz.
Agora eu preciso que ele faça o seguinte quando eu digitar ou seja alterar dado em um dos edits e clicar no botão " Alterar " eu preciso que ele altere no bando de dados.
Eu testei essas duas verssoes abaixo.
• Nesse primeiro quando eu altero ele altera no grid mas nao no banco de dados.
Datamodule2.IBQUERY1.Open; Datamodule2.IBQUERY1.Edit; Datamodule2.IBQUERY1.Fields[2].text := edit2.text; Datamodule2.IBtable1.POST;
• Nesse segundo ele altera e grava porem ele fica travado no primeiro registro da tabela e não o registro q estou selecionando no momento ou seja eu posso editar o ultimo registro e no fim das contas ele altero o primeiro registro.
Datamodule2.IBtable1.Open; Datamodule2.IBtable1.Edit; Datamodule2.IBQUERY1.Fields[2].text := edit2.text; Datamodule2.IBtable1.POST;
Obg e aguardo a ajuda!
Bruno Souza
Curtir tópico
+ 0Posts
03/04/2014
Ricardo
Se é isso o que acontece, a resposta é porque os dados ficam tipo que em "cache" no componente(Edit) e não é repassado a campo da tabela no BD. Você tem que passar esse valor direto para a tabela antes de dar o post.
Gostei + 0
03/04/2014
Bruno Souza
Se é isso o que acontece, a resposta é porque os dados ficam tipo que em "cache" no componente(Edit) e não é repassado a campo da tabela no BD. Você tem que passar esse valor direto para a tabela antes de dar o post.
É isso mesmo cara. porem como eu faço isso? eu ja tentei até deixar os dois códigos que passei no post inicial ativos, mas ai ele fica na de somente registrar no primeiro registro do banco de dados idependete do registro selecionado.
Gostei + 0
03/04/2014
Ricardo
Query.FieldByName('campo da tabela').Asxxx := edit.text;
Query. Post;
Qualquer coisa manda o trecho do código no email ou skype. ricardo.cardosoti@gmail.com / ricardo.cardosoti
Gostei + 0
03/04/2014
Bruno Souza
Query.FieldByName('campo da tabela').Asxxx := edit.text;
Query. Post;
Eu uso uma ibquery com datamodule.
Eu testei e ele reclamo que nao tava em modo edit ai adiconei o edit.
datamodule2.IBQuery1.EDIT;
datamodule2.IBQuery1.FieldByName('NOME_CLIENTE').AsString := edit2.text;
datamodule2.IBQuery1.Post;
Ele não da erro, altera no grid . Ai eu fecho e abro denovo e nada ele não gravo no DB.
Gostei + 0
03/04/2014
Ricardo
Gostei + 0
05/04/2014
Mauricio Rodrigues
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)