kisuel 0 Denunciar post Postado Junho 20, 2005 alguem pode me informar onde e q ta o erro no update abaixo.ja conferi as tabelas, campos, variaveis,o erro q aparece e o seguinte"Erro de sintaxe na instrução UPDATE"procedure Tfrmfornecedor.bbtnalteraClick(Sender: TObject);varcodconsulta :integer;medico, local, data, especi, senha, codfor: string;teste:boolean;begin if (edtcodconsulta.Text <> 'Auto') and (edtcodconsulta.Text <> '') then begin teste:=true; if edtcod.GetTextLen = 0 then begin if MessageDLg('Favor inserir um Paciente!',mterror, [mbyes{, mbno}], 0)=mryes then edtcod.SetFocus; teste:=false; end else begin codfor:=edtcod.Text; senha:=edtsenha.Text; data:=edtdia.Text; medico:=edtmedico.Text; local:=edtlocal.Text; especi:=edtespeci.Text; with dm do begin adocmd.CommandText:='select * from consulta where codconsulta = :codconsulta'; adocmd.Parameters.ParamByName('codconsulta').Value:=edtcodconsulta.Text; adodscon.Recordset:=adocmd.Execute; if adodscon.RecordCount > 0 then begin codconsulta:=adodscon.FieldValues['codconsulta']; try adocon.BeginTrans; adocmd.CommandText:='UPDATE consulta set codfor = :codfor, data = :data, medico = :medico, local = :local, senha = :senha, especi = :especi where codconsulta = :codconsulta'; adocmd.Parameters.ParamByName('codfor').Value:=codfor; adocmd.Parameters.ParamByName('data').Value:=data; adocmd.Parameters.ParamByName('medico').Value:=medico; adocmd.Parameters.ParamByName('local').Value:=local; adocmd.Parameters.ParamByName('senha').Value:=senha; adocmd.Parameters.ParamByName('especi').Value:=especi; if MessageDLg('Deseja ALTERAR os dados?',mtconfirmation, [mbyes, mbno], 0)=mryes then adocmd.Execute; adocon.CommitTrans; except on eadoerror do begin adocon.RollbackTrans; showmessage('Impossivel conectar ao bando de dados!'); end; end; end; end;ATE MAIS RAPAZIADA end; end;end; Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Junho 21, 2005 meu,,, tá certo.. mas se fosse eu não faria assim.. eu já decia logo os valores.. como string mesmo.. adocmd.CommandText:=concat('UPDATE consulta set codfor = ', quotedStr(codfor), ', data = ' , quotedStr(data), ' where codconsulta = ', quotedStr(codconsulta));se é q você me entende.. Compartilhar este post Link para o post Compartilhar em outros sites