Fórum Erro! Quero atualizar apenas um registro e não todos!!!!!!!! #43717
14/04/2004
0
Olá amigos,
é o seguinte:
Uso D7/IBX
Tenho um DBGrid que me mostra os valores retornados de uma consulta. Quando dou um duplo clique em cima de um dos resultados, ele abre um form com as propriedades relativas ao registro selecionado, para modificação. Aí que está o problema.
Quando eu modifico este registro, ele modifica todos os outros que coincidem com a chave primária, no caso cod_material.
Como devo proceder para ele alterar apenas o registro em questão?
é o seguinte:
Uso D7/IBX
Tenho um DBGrid que me mostra os valores retornados de uma consulta. Quando dou um duplo clique em cima de um dos resultados, ele abre um form com as propriedades relativas ao registro selecionado, para modificação. Aí que está o problema.
Quando eu modifico este registro, ele modifica todos os outros que coincidem com a chave primária, no caso cod_material.
Como devo proceder para ele alterar apenas o registro em questão?
DmAtualiza.Trans.Active:=false; try Screen.Cursor := crSqlWait; DmAtualiza.Trans.StartTransaction; DmAtualiza.QryAtualiza.Sql.Clear; DmAtualiza.QryAtualiza.Sql.add(´Update custo_mat_prima´); DmAtualiza.QryAtualiza.Sql.add(´Set cod_material = :cod_material, descricao = :Descricao, Tipo_moeda = :Tipo_moeda, ´); DmAtualiza.QryAtualiza.Sql.Add(´fornecedor1 = :fornecedor1, prazo1 = :prazo1, taxa1 = :taxa1, preco1 = :preco1, ´); DmAtualiza.QryAtualiza.Sql.Add(´custo1 = :custo1, obs = :obs´); DmAtualiza.QryAtualiza.Sql.Add(´Where cod_material = :cod_material´); DmAtualiza.QryAtualiza.ParamByName(´Cod_material´).asString := edt_cod.Text; DmAtualiza.QryAtualiza.ParamByName(´Descricao´).asString := edt_descricao.Text; DmAtualiza.QryAtualiza.ParamByName(´Tipo_moeda´).asString := edt_moeda.Text; DmAtualiza.QryAtualiza.ParamByName(´Fornecedor1´).asString := edt_fornecedor.Text; DmAtualiza.QryAtualiza.ParamByName(´Prazo1´).asString := edt_prazo.Text; DmAtualiza.QryAtualiza.ParamByName(´Taxa1´).asString := edt_taxa.Text; DmAtualiza.QryAtualiza.ParamByName(´Preco1´).asString := edt_preco.Text; DmAtualiza.QryAtualiza.ParamByName(´Custo1´).asString := edt_custo.Text; DmAtualiza.QryAtualiza.ParamByName(´OBS´).asString := memo_obs.Text; DmAtualiza.QryAtualiza.execsql; DmAtualiza.Trans.Commit; except DmAtualiza.Trans.RollbackRetaining; end; Screen.Cursor:=crDefault; messagebox(0,´Os dados foram ALTERADOS corretamente!!´,´Êxito!´,mb_ok+mb_iconquestion); end;
Anarchybra
Curtir tópico
+ 0
Responder
Posts
17/04/2004
Xisto
experimente adicionar um campo autoincremento a tabela e fazer a localizacao para alteracao atraves deste campo, já que a chave que a
chave esta se repetindo na consulta.
[]s
Xisto
chave esta se repetindo na consulta.
[]s
Xisto
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)