Fórum Update no SQL com o ADOQuery... #217505
01/03/2004
0
Pessoal
Estou tentando fazer um update na minha tabela usando o componente ADOQuery
Fiz a seguinte rotina no delphi
procedure TfrmClientes.btnEditarClick(Sender: TObject);
VAR
TESTE : Widestring;
begin
With DM_Administrador.QryUpdate_Clientes do
begin
SQL.Clear;
SQL.Add(´UPDATE CLIENTES SET ID_CLIENTE =:ID_CLIENTE,RAZAO_SOCIAL =:RAZAO_SOCIAL,FANTASIA =:FANTASIA,ENDERECO =:ENDERECO,COMPLEMENTO =:COMPLEMENTO,´);
SQL.Add(´BAIRRO =:BAIRRO,CIDADE =:CIDADE,CEP =:CEP,UF =:UF,DATA_CADASTRO =:DATA_CADASTRO,DDD =:DDD,TELEFONE_COM =:TELEFONE_COM, TELEFONE_RES =:TELEFONE_RES,´);
SQL.Add(´TELEFONE_CELULAR =:TELEFONE_CELULAR, FAX =:FAX, E_MAIL =:E_MAIL, SITE =:SITE, PESSOA_FISICA_JURIDCA =:PESSOA_FISICA_JURIDCA, CPF =:CPF, CNPJ =:CNPJ,INSC_EST =:INSC_EST,NOME_REPRESENTANTE =:NOME_REPRESENTANTE,´);
SQL.Add(´DATA_RETORNO =:DATA_RETORNO,OBSERVACOES =:OBSERVACOES,SO =:SO,QTDE_EQUIP =:QTDE_EQUIP,RG =:RG,REGIAO =:REGIAO,CONTATO =:CONTATO,TIPO_CONTRATACAO =:TIPO_CONTRATACAO´);
SQL.Add(´WHERE ID_CLIENTE =:ID_CLIENTE´);
Parameters.ParamByName(´ID_CLIENTE´).Value:= StrToInt(lblId_Cliente.Caption);
Parameters.ParamByName(´RAZAO_SOCIAL´).Value := edtRazao_Social.Text;
Parameters.ParamByName(´FANTASIA´).Value:= edtFantasia.Text;
Parameters.ParamByName(´ENDERECO´).Value:= edtEndereco.Text;
Parameters.ParamByName(´COMPLEMENTO´).Value:= edtComplemento.Text;
Parameters.ParamByName(´BAIRRO´).Value:= edtBairro.Text;
Parameters.ParamByName(´CIDADE´).Value:= edtCidade.Text;
Parameters.ParamByName(´CEP´).Value:= edtCep.Text;
Parameters.ParamByName(´UF´).Value:= cmbUF.Text;
Parameters.ParamByName(´DATA_CADASTRO´).Value:= StrToDate(lblData_Cadastro2.Caption);
Parameters.ParamByName(´DDD´).Value:= edtDDD.Text;
Parameters.ParamByName(´TELEFONE_COM´).Value:= edtTel_Com.Text;
Parameters.ParamByName(´TELEFONE_RES´).Value:= edtTel_Res.Text;
Parameters.ParamByName(´TELEFONE_CELULAR´).ValuE:=edtTel_Celular.Text;
Parameters.ParamByName(´FAX´).Value:= edtFax.Text;
Parameters.ParamByName(´E_MAIL´).Value:= edtE_Mail.Text;
Parameters.ParamByName(´SITE´).Value:= edtSite.Text;
Parameters.ParamByName(´PESSOA_FISICA_JURIDCA´).Value:= cmbPessoa.Text;
Parameters.ParamByName(´CPF´).Value:= edtCPF.Text;
Parameters.ParamByName(´CNPJ´).Value:= edtCNPJ.Text;
Parameters.ParamByName(´INSC_EST´).Value:= edtInsc_Estadual.Text;
Parameters.ParamByName(´NOME_REPRESENTANTE´).Value:= edtRepresentante.Text;
Parameters.ParamByName(´DATA_RETORNO´).Value:= StrToDate(edtData_Retorno.Text);
Parameters.ParamByName(´OBSERVACOES´).Value := memObservacoes.Text;
Parameters.ParamByName(´SO´).Value := edtSO.Text;
Parameters.ParamByName(´QTDE_EQUIP´).Value:= edtQtde_Equip.Text;
Parameters.ParamByName(´RG´).Value := edtRG.Text;
Parameters.ParamByName(´REGIAO´).Value := edtRegiao.Text;
Parameters.ParamByName(´CONTATO´).Value:= edtContato.Text;
Parameters.ParamByName(´TIPO_CONTRATACAO´).Value:= edtTipo_Contratacao.Text;
Parameters.ParamByName(´OBSERVACOES´).Value:= memObservacoes.Text;
try
ExecSQL;
DM_Administrador.QryUpdate_Clientes.Close;
except
on Erro:EDatabaseError do
begin
MessageDlg(´Informação sendo alterada por outro usuário.´,mtWarning,[mbOk,mbHelp],16);
DM_Administrador.QryUpdate_Clientes.Active:= False;
end;
end;
end;
MessageDlg(´REGISTRO ALTERADO.´,mtInformation,[mbOk], 0);
end;
Quando executo essa rotina ele me diz que foi alterado o registro,mas quando verifico no banco o registro continua inalterado..
Há algum problema quanto a atualização com o componente ADOQuery.
Alguem poderia me ajudar
Desde já agradeço a atenção
[]´s
Marcos
Estou tentando fazer um update na minha tabela usando o componente ADOQuery
Fiz a seguinte rotina no delphi
procedure TfrmClientes.btnEditarClick(Sender: TObject);
VAR
TESTE : Widestring;
begin
With DM_Administrador.QryUpdate_Clientes do
begin
SQL.Clear;
SQL.Add(´UPDATE CLIENTES SET ID_CLIENTE =:ID_CLIENTE,RAZAO_SOCIAL =:RAZAO_SOCIAL,FANTASIA =:FANTASIA,ENDERECO =:ENDERECO,COMPLEMENTO =:COMPLEMENTO,´);
SQL.Add(´BAIRRO =:BAIRRO,CIDADE =:CIDADE,CEP =:CEP,UF =:UF,DATA_CADASTRO =:DATA_CADASTRO,DDD =:DDD,TELEFONE_COM =:TELEFONE_COM, TELEFONE_RES =:TELEFONE_RES,´);
SQL.Add(´TELEFONE_CELULAR =:TELEFONE_CELULAR, FAX =:FAX, E_MAIL =:E_MAIL, SITE =:SITE, PESSOA_FISICA_JURIDCA =:PESSOA_FISICA_JURIDCA, CPF =:CPF, CNPJ =:CNPJ,INSC_EST =:INSC_EST,NOME_REPRESENTANTE =:NOME_REPRESENTANTE,´);
SQL.Add(´DATA_RETORNO =:DATA_RETORNO,OBSERVACOES =:OBSERVACOES,SO =:SO,QTDE_EQUIP =:QTDE_EQUIP,RG =:RG,REGIAO =:REGIAO,CONTATO =:CONTATO,TIPO_CONTRATACAO =:TIPO_CONTRATACAO´);
SQL.Add(´WHERE ID_CLIENTE =:ID_CLIENTE´);
Parameters.ParamByName(´ID_CLIENTE´).Value:= StrToInt(lblId_Cliente.Caption);
Parameters.ParamByName(´RAZAO_SOCIAL´).Value := edtRazao_Social.Text;
Parameters.ParamByName(´FANTASIA´).Value:= edtFantasia.Text;
Parameters.ParamByName(´ENDERECO´).Value:= edtEndereco.Text;
Parameters.ParamByName(´COMPLEMENTO´).Value:= edtComplemento.Text;
Parameters.ParamByName(´BAIRRO´).Value:= edtBairro.Text;
Parameters.ParamByName(´CIDADE´).Value:= edtCidade.Text;
Parameters.ParamByName(´CEP´).Value:= edtCep.Text;
Parameters.ParamByName(´UF´).Value:= cmbUF.Text;
Parameters.ParamByName(´DATA_CADASTRO´).Value:= StrToDate(lblData_Cadastro2.Caption);
Parameters.ParamByName(´DDD´).Value:= edtDDD.Text;
Parameters.ParamByName(´TELEFONE_COM´).Value:= edtTel_Com.Text;
Parameters.ParamByName(´TELEFONE_RES´).Value:= edtTel_Res.Text;
Parameters.ParamByName(´TELEFONE_CELULAR´).ValuE:=edtTel_Celular.Text;
Parameters.ParamByName(´FAX´).Value:= edtFax.Text;
Parameters.ParamByName(´E_MAIL´).Value:= edtE_Mail.Text;
Parameters.ParamByName(´SITE´).Value:= edtSite.Text;
Parameters.ParamByName(´PESSOA_FISICA_JURIDCA´).Value:= cmbPessoa.Text;
Parameters.ParamByName(´CPF´).Value:= edtCPF.Text;
Parameters.ParamByName(´CNPJ´).Value:= edtCNPJ.Text;
Parameters.ParamByName(´INSC_EST´).Value:= edtInsc_Estadual.Text;
Parameters.ParamByName(´NOME_REPRESENTANTE´).Value:= edtRepresentante.Text;
Parameters.ParamByName(´DATA_RETORNO´).Value:= StrToDate(edtData_Retorno.Text);
Parameters.ParamByName(´OBSERVACOES´).Value := memObservacoes.Text;
Parameters.ParamByName(´SO´).Value := edtSO.Text;
Parameters.ParamByName(´QTDE_EQUIP´).Value:= edtQtde_Equip.Text;
Parameters.ParamByName(´RG´).Value := edtRG.Text;
Parameters.ParamByName(´REGIAO´).Value := edtRegiao.Text;
Parameters.ParamByName(´CONTATO´).Value:= edtContato.Text;
Parameters.ParamByName(´TIPO_CONTRATACAO´).Value:= edtTipo_Contratacao.Text;
Parameters.ParamByName(´OBSERVACOES´).Value:= memObservacoes.Text;
try
ExecSQL;
DM_Administrador.QryUpdate_Clientes.Close;
except
on Erro:EDatabaseError do
begin
MessageDlg(´Informação sendo alterada por outro usuário.´,mtWarning,[mbOk,mbHelp],16);
DM_Administrador.QryUpdate_Clientes.Active:= False;
end;
end;
end;
MessageDlg(´REGISTRO ALTERADO.´,mtInformation,[mbOk], 0);
end;
Quando executo essa rotina ele me diz que foi alterado o registro,mas quando verifico no banco o registro continua inalterado..
Há algum problema quanto a atualização com o componente ADOQuery.
Alguem poderia me ajudar
Desde já agradeço a atenção
[]´s
Marcos
Marcosmp
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)