Fórum Erro com UPDATE #393577

10/01/2011

0

Olá pessoal, estou tentando fazer um update na minha tabela mas ta dando erro, alguem pode mim ajudar?

meu codigo
  DM.QLote.Close;
  DM.QLote.SQL.Clear;
  DM.QLote.SQL.Text := 'UPDATE PBS_Desc SET Check = 0 where Check = 1';
  DM.QLote.ExecSQL;


erro ocorrido
Erro de sintaxe na instrução UPDATE


Estou usando banco de dados access e um componente AdoQuery e campo Check é do tipo Texto.

desde já agradeço
Valdenir Matos

Valdenir Matos

Responder

Posts

11/01/2011

Wilson Junior

Coloque assim:
DM.QLote.SQL.Text := 'UPDATE PBS_Desc SET Check = ' + QuotedStr( '0' ) + ' where Check = ' + QuotedStr( '1' );


O QuotedStr colocará os valores entre aspas.

Espero ter colaborado.
Responder

Gostei + 0

11/01/2011

Valdenir Matos

Não deu certo, ocorre o mesmo erro. Eu ja tentei com essas formas

 
 DM.QLote.SQL.Text := 'UPDATE PBS_Desc SET Check = ' + QuotedStr('0') + ' where Check = ' + QuotedStr('1');


 
 DM.QLote.SQL.Append('UPDATE PBS_Desc SET Check = 0 where Check = 1');


 
 DM.QLote.SQL.Text := 'UPDATE * from PBS_Desc SET Check = :P1 where Check = :P2';
  DM.QLote.Parameters.ParamByName('P1').Value := '0';
  DM.QLote.Parameters.ParamByName('P2').Value := '1';


Você teria outra sugestão?
mas desde já agradeço.
Responder

Gostei + 0

11/01/2011

Valdenir Matos

Não deu certo, ocorre o mesmo erro. Eu ja tentei com essas formas

 
 DM.QLote.SQL.Text := 'UPDATE PBS_Desc SET Check = ' + QuotedStr('0') + ' where Check = ' + QuotedStr('1');


 
 DM.QLote.SQL.Append('UPDATE PBS_Desc SET Check = 0 where Check = 1');


 
 DM.QLote.SQL.Text := 'UPDATE * from PBS_Desc SET Check = :P1 where Check = :P2';
  DM.QLote.Parameters.ParamByName('P1').Value := '0';
  DM.QLote.Parameters.ParamByName('P2').Value := '1';


Você teria outra sugestão?
mas desde já agradeço.
Responder

Gostei + 0

11/01/2011

Valdenir Matos

Não deu certo, ocorre o mesmo erro. Eu ja tentei com essas formas 
 DM.QLote.SQL.Text := 'UPDATE PBS_Desc SET Check = ' + QuotedStr('0') + ' where Check = ' + QuotedStr('1');
 
 DM.QLote.SQL.Append('UPDATE PBS_Desc SET Check = 0 where Check = 1');
 
 DM.QLote.SQL.Text := 'UPDATE * from PBS_Desc SET Check = :P1 where Check = :P2';  DM.QLote.Parameters.ParamByName('P1').Value := '0';  DM.QLote.Parameters.ParamByName('P2').Value := '1';
Você teria outra sugestão? mas desde já agradeço.
Responder

Gostei + 0

11/01/2011

Wilson Junior

Que erro está ocorrendo?
Responder

Gostei + 0

11/01/2011

Valdenir Matos

Opa, deu certo

o campo Check era Sim\Não e tinha renomeado para Texto
então criei um novo campo do tipo texto para testar e funcionou.

obrigado pela atenção

Responder

Gostei + 0

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

Aceitar