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?


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

Anarchybra

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar