Fórum UPDATE NO DELPHI 2010 #484752
07/07/2014
0
Galera como sou novo no Delphi estou com dúvida em como montar o fonte para aplicar um UPDATE no meu banco de dados. No SQL SERVER eu aplico a seguinte função para manipular o meu banco:
UPDATE NOME DA TABELA SET CAMPO ='VALOR' WHERE CAMPO='VALOR' AND CAMPO='VALOR' . ou seja: eu quero que aquele valor seja inserido na minha tabela desde que seja igual a um determinado campo e também igual ao outro campo que eu descrevi, até aí tudo bem.
Vamos agora para o delphi:
O valor que for digitado no DbEdit 1 seja inserido na minha tabela ao clicar no Button1, mas ele vai ser inserido na linha que tem o valor do Dbedit 2 e o DbEdit 3!!
ENTENDERAM ?? FICOU COMPLICADO DE ENTENDER PESSOAL?
Descrevendo o que eu quero na linguagem SQL SERVER ficaria deste modo então:
UPDATE NOME DA TABELA SET DbEdit1='valor digitado' WHERE Dbedit2='valor que já está salvo' AND DbEdit3='valor que já está salvo'
Se alguém puder me ajudar pessoal, como montar este SQL no delphi, estou disposto até dar uma bonificação.
Obrigado
Giuliano Frederice
Curtir tópico
+ 0Posts
07/07/2014
Lucas Rocha
no caso teria de ser assim vou dar exemplo numa tabela clientes pra voce entender melhor..
UPDATE tabelaClientes SET nomeCliente = '" & txtNomeCli.text & "' WHERE CodigoCliente = " & txtCodigoCliente.text & " AND StatusCliente = 'ATIVO'
No .NET os campos textos no banco de dados são utilizados ' " & nomeDoTextbox.text & " ' (sem os espaços) e nos numéricos apenas: " & txtnumero.text & ".. os que nunca mudam tem o exemplo do statusCliente = 'ATIVO'.
Obs: explicando, ele vai fazer o Update no nome do cliente na tabelaClientes quando o código for igual ao txtCodigoCliente e o Status dele for ativo..
Gostei + 0
07/07/2014
Giuliano Frederice
Vou aplicar a Sintaxe que você me passou para ver se eu consigo obter algum resultado mesmo não dando certo, fico extremamente agradecido pela sua atenção meu amigo.
Abraços e tudo de bom pra você, sucesso!!!
Aguardo mais dicas de usuários do fórum.
Gostei + 0
07/07/2014
Lucas Rocha
no .NET utiliza-se o & e parece que no delphi é utilizado + .. analisando esse exemplo percebe-se que o esquema de apóstrofo muda também ao invés de ser ' " & campoTexto.text & " ' é " ' + CampoText.text + ' " sem os espaços..
begin
Close;
SQL.Clear;
SQL.Add('Update Arquivo SET Sob_Rev = "'+Edit1.Text+'" where Projeto like "'+Edit3.Text+'" and Area like "'+Edit4.Text+'" and Sub_Area like "'+Edit5.Text+'" and GRD like "'+Edit6.Text+'" and Situacao like "'+Edit7.Text+'" and Rec_Env like "'+Edit8.Text+'" and Num_AEC like "'+Edit9.Text+'" and Num_Fornecedor like "'+Edit10.Text+'" and Email like "'+Edit11.Text+'" and Titulo like "'+Edit12.Text+'" and Revisao like "'+Edit13.Text+'" ');
ExecSQL;
end;Para facilitar mais você pode utilizar Parâmetros
UPDATE <MINHA TABELA>
SET NOME = :nome
WHERE ID = :id
Query.ParamByName('nome').asstring = edtNome.text;
Query.ParamByName('id').asinteger = StrToInt(edtId.text); Gostei + 0
07/07/2014
Giuliano Frederice
Eu conheço este exemplo aí....... rsrs.... tentei aplicar mas não deu certo.
Cara mais valeu mesmo por estar me ajudando fico muito grato por isso, é bom saber que ainda existe pessoas dispostas a ajudar as outras.
Forte abraço meu amigo...
Gostei + 0
07/07/2014
Lucas Rocha
Ja vi parte de uma Source de um sistema que a empresa em que trabalho feito em delphi e os sql da vida é por parametro da mesma forma que citei acima..
no caso confira se o campo da sua tabela se chama DbEdit1 .. por ex:
UPDATE NomeTabela
SET NomeClientes = :nome
WHERE CodigoClientes = :codcli
Query.ParamByName('nome').asstring = nomeCliente.text;
Query.ParamByName('codcli').asinteger = StrToInt(editcodcli.text);
Gostei + 0
07/07/2014
Giuliano Frederice
Forte abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)