|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Renob Novato
Registrado: Segunda-Feira, 20 de Março de 2017 Mensagens: 3
|
Enviada: Seg Mar 20, 2017 2:43 pm Assunto: Update em varios campos no Firebird 2.5 |
|
|
Boa tarde pessoal, preciso atualizar uma tabela de
Produtos ( Campo1 , campo2 , campo3 , campo 4)
Na tela existem 4 Edits para o usuario digitar os dados ( todos numéricos (integer) ).,
porém nem todos são preenchidos pelo usuário (tenho que ver qual esta preenchido para depois atualizar
só estes).
Estou usando Firebird 2.5 - ADO ODBC - Delphi 2010.
Pelo jeito simples seria assim :
UPDATE produto
SET Campo1 = 101 ,Campo2 = 500 , campo3 = 5100
WHERE codprod = 1 |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Mar 20, 2017 9:05 pm Assunto: |
|
|
Boa noite,
Acho que você pode montar o Update dinamicamente utilizando código de acordo com os Edits preenchidos. Ex:
Código: | var
Prefixo: string;
// ...
begin
// ...
Prefixo := 'set';
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update produto');
if Edit1.Text <> '' then
begin
ADOQuery1.SQL.Add(Prefixo + ' campo1 = :campo1');
ADOQuery1.Parameters.ParamByName('campo1').Value := StrToInt(Edit1.Text);
Prefixo := ',';
end;
if Edit2.Text <> '' then
begin
ADOQuery1.SQL.Add(Prefixo + ' campo2 = :campo2');
ADOQuery1.Parameters.ParamByName('campo2').Value := StrToInt(Edit2.Text);
Prefixo := ',';
end;
if Edit3.Text <> '' then
begin
ADOQuery1.SQL.Add(Prefixo + ' campo3 = :campo3');
ADOQuery1.Parameters.ParamByName('campo3').Value := StrToInt(Edit3.Text);
Prefixo := ',';
end;
if Edit4.Text <> '' then
begin
ADOQuery1.SQL.Add(Prefixo + ' campo4 = :campo4');
ADOQuery1.Parameters.ParamByName('campo4').Value := StrToInt(Edit4.Text);
end;
ADOQuery1.SQL.Add('where codprod = :codprod');
ADOQuery1.Parameters.ParamByName('codprod').Value := StrToInt(edtCodProd.Text);
ADOQuery1.ExecSQL; |
Espero que ajude
Editado pela última vez por imex em Ter Mar 07, 2023 5:39 pm, num total de 1 vez |
|
Voltar ao Topo |
|
|
Renob Novato
Registrado: Segunda-Feira, 20 de Março de 2017 Mensagens: 3
|
Enviada: Ter Mar 21, 2017 9:44 am Assunto: |
|
|
Obrigado imex, deu certo
pelo menos até os usuários acharem uma brecha , sabe como é né
Novamente obrigado pela ajuda. |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|