Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com Update Utilizando IBQuery


Fantasma_Recon

Pergunta

Ajuda com Update direto na ibquery

OLÁ AMIGOS TENHO UMA IBQUERY DE NOME CADASTRO E GOSTARIA DE ATUALIZAR OS DADOS OU ALTERAR E SALVAR EM TEMPO DE EXEXUÇAO TÁ! FIZ ISTO MAS SO EM DOIS

CAMPOS , MAS GOSTARIA DE ALTERAR E ATUALIZAR QUALQUER UM DOS CAMPOS !!!

PEÇO! POR GENTILEZA AJUDA DE TODOS !!! DESDE já AGRADEÇO!!!

SEGE O CODIGO

procedure TManutencao.FormShow(Sender: TObject);

begin

edit2.Text:= form2.CADASTRO.FIELDBYNAME('COD').AsString;

edit3.Text:= form2.CADASTRO.FIELDBYNAME('PRODUTO').AsString;

edit4.Text:= form2.CADASTRO.FIELDBYNAME('VALOR').AsString;

edit5.Text:= form2.CADASTRO.FIELDBYNAME('FORNECEDOR').AsString;

edit6.Text:= form2.CADASTRO.FIELDBYNAME('QUANTIDADENAPRATELEIRA').AsString;

edit7.Text:= form2.CADASTRO.FIELDBYNAME('CAIXASEMESTOQUE').AsString;

edit8.Text:= form2.CADASTRO.FIELDBYNAME('VALOREMESTOQUE').AsString;

MASKedit1.Text:= FORM2.CADASTRO.FIELDBYNAME'DATADOCADASTRODOPRODUTO').AsString;

end;

procedure TManutencao.BitBtn1Click(Sender: TObject);

begin

try

form2.CADASTRO.sql.Clear;

form2.CADASTRO.sql.text := 'update codigo set valor = + ' + edit4.text + ' where cod = ' + edit2.text;

form2.CADASTRO.Open;

dm.Transacao.Commit;

edit1.Clear;

{este codigo so atualiza/altera os campos valor e cod}

{gostaria de alaterar qualquer um dos campos }

Except On E:Exception do

Begin

Application.MessageBox( Pchar('Algum usuário está "TRAVANDO" o REGISTRO ATUAL'+#13+#13+

'ERRO : "'+ E.Message +'" ;' ),

'Impossível ALTERAR', MB_Ok);

EXIT; // Sai de uma “possível procedure” }

DM.TraNSACAO.COMMIT;

FORM2.CADASTRO.Refresh;

EDIT1.Clear;

END;

End;

END;

procedure TManutencao.Edit1Change(Sender: TObject);

begin

FORM2.cadastro.Close;

FORM2.cadastro.sql.clear;

FORM2.cadastro.sql.add('select * from codigo WHERE cod LIKE' +QUOTEDSTR('%' + edit1.Text + '%'));

FORM2.cadastro.Open;

end;

Mais ou menos assim !!!

with form2.CADASTRO do

begin

Close;

SQL.Clear;

SQL.Add('UPDATE codigo SET cod = + '+ edit2.Text+ ',');

SQL.Add(' produto = + ' + edit3.text + ',');

SQL.Add(' valor = + ' + edit4.Text+ ',');

SQL.Add(' fornecedor = + ' + edit5.text + ',');

SQL.Add('quantidadenaprateleira = + ' + edit6.text + ',');

SQL.Add(' caixasemestoque = + ' + edit7.text + ',');

SQL.Add(' valoremestoque = + ' + edit8.text + ',');

SQL.Add('where datadocadastrodoproduto = + ' + MasKedit1.text + ';');

open;

edit1.Clear;

end;

Except On E:Exception do

Begin

Application.MessageBox( Pchar('Algum usuário está "TRAVANDO" o REGISTRO ATUAL'+#13+#13+

'ERRO : "'+ E.Message +'" ;' ),

'Impossível ALTERAR', MB_Ok);

EXIT; // Sai de uma “possível procedure” }

DM.TraNSACAO.COMMIT;

FORM2.CADASTRO.Refresh;

EDIT1.Clear;

END;

End;

END;

so que este codigo não altera !!! o codigo anterior altera somente dois campos!!!

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

procedure TManutencao.BitBtn1Click(Sender: TObject);
begin

try
form2.CADASTRO.sql.Clear;
form2.CADASTRO.sql.text := 'update codigo set valor = + ' + edit4.text + ' where cod = ' + edit2.text;
form2.CADASTRO.Open;
dm.Transacao.Commit;
edit1.Clear;

{este codigo so atualiza/altera os campos valor e cod}
{gostaria de alaterar qualquer um dos campos }

Except On E:Exception do
Begin
Application.MessageBox( Pchar('Algum usuário está "TRAVANDO" o REGISTRO ATUAL'+#13+#13+
'ERRO : "'+ E.Message +'";' ),
'Impossível ALTERAR', MB_Ok);
EXIT; // Sai de uma “possível procedure” }

DM.TraNSACAO.COMMIT;
FORM2.CADASTRO.Refresh;
EDIT1.Clear;
END;
End;
END;
Primeiro sugiro não utilizar este tipo de coisa
Application.MessageBox( Pchar('Algum usuário está "TRAVANDO" o REGISTRO ATUAL'+#13+#13+ 'ERRO : "'+ E.Message +'" ;' ), 'Impossível ALTERAR', MB_Ok);
Hoje é inadimissível travar um registro
o codigo anterior altera somente dois campos!!!
voce pode alterar mais de um campo ou todos exemplo:
// usando parametros

SQL.Append('UPDATE customer set cust_no=:cust_no, customer=:customer, contact_first=:contact, phone_no=:phone, city=:city where cust_no=:cust_no'); 

// usando edits

 SQL.AAppend('UPDATE customer set cust_no=' + Edit1.Text + ', customer= '+ Edit2.Text + ' , contact_first= ' + Edit3.Text  + ', phone_no= ' +  Edit4.text + ', city= ' + Edit5.text + ' where cust_no= ' + Edit1.text);

Outras informações:

http://www.delphibr.com.br/artigos/delphiweb1.php

http://www.scribd.com/doc/6943122/BancoDeD...rebird-Exemplos

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...