Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Yoshi

Update

Recommended Posts

Ae gente to tentando usar o Update em um registro mais não to conceguindo to usando o seguinte codigo, algum pd me falar ond q ta errado

 

 

procedure TFrmCadMedico.Update;

begin

DMFisio.QCadMedico.Active:= False;

DMFisio.QCadMedico.SQL.Clear;

DMFisio.QCadMedico.SQL.Add(update medicos set crm = :crm, nome = :nome, especialidade = :especialidade where crm = :OLD_crm and nome = :OLD_nome and especialidade = :OLD_especialidade');

DMFisio.QCadMedico.ParamByName('crm').AsString := txtcrm.Text;

DMFisio.QCadMedico.ParamByName('nome').AsString := txtnome.Text;

DMFisio.QCadMedico.ParamByName('especialidade').AsString := txtespecialidade.Text;

DMFisio.QCadMedico.Open;

DMFisio.QCadMedico.ExecSQL;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente da seguinte forma:

 

DMFisio.QCadMedico.Close;
DMFisio.QCadMedico.SQL.Clear;
DMFisio.QCadMedico.SQL.Add(update medicos set crm = :crm, nome = :nome, especialidade = :especialidade where crm = :OLD_crm and nome = :OLD_nome and especialidade = :OLD_especialidade');
DMFisio.QCadMedico.ParamByName('crm').AsString := txtcrm.Text;
DMFisio.QCadMedico.ParamByName('nome').AsString := txtnome.Text;
DMFisio.QCadMedico.ParamByName('especialidade').AsString := txtespecialidade.Text;
DMFisio.QCadMedico.ExecSQL;

 

Basicamente tirando somente o:

 

DMFisio.QCadMedico.Open;

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai, você já nao fez

 

DMFisio.QCadMedico.ParamByName('crm').AsString := txtcrm.Text;

DMFisio.QCadMedico.ParamByName('nome').AsString := txtnome.Text;

DMFisio.QCadMedico.ParamByName('especialidade').AsString := txtespecialidade.Text;

 

???

 

entao tem q fazer tb

 

DMFisio.QCadMedico.ParamByName('OLD_crm').AsString := VALOR QUALQUER 1

DMFisio.QCadMedico.ParamByName('OLD_nome').AsString := VALOR QUALQUER 2

DMFisio.QCadMedico.ParamByName('OLD_especialidade').AsString := VALOR QUALQUER 2

 

sacô?

Compartilhar este post


Link para o post
Compartilhar em outros sites

DMFisio.QCadMedico.Active:= False;

DMFisio.QCadMedico.SQL.Clear;

DMFisio.QCadMedico.SQL.Add('update medicos set crm = :crm, nome = :nome, especialidade = :especialidade, codespecialidade = :codespecialidade where crm = :OLD_crm and nome = :OLD_nome and especialidade = :OLD_especialidade and codespecialidade = :OLD_codespecialidade');

DMFisio.QCadMedico.ParamByName('crm').AsString := txtcrm.Text;

DMFisio.QCadMedico.ParamByName('nome').AsString := txtnome.Text;

DMFisio.QCadMedico.ParamByName('especialidade').AsString := txtespecialidade.Text;

DMFisio.QCadMedico.ParamByName('codespecialidade').AsString := txtCodEspecialidade.Text;

DMFisio.QCadMedico.ParamByName('OLD_crm').AsString := txtcrm.Text;

DMFisio.QCadMedico.ParamByName('OLD_nome').AsString := txtnome.Text;

DMFisio.QCadMedico.ParamByName('OLD_especialidade').AsString := txtespecialidade.Text;

DMFisio.QCadMedico.ParamByName('OLD_codespecialidade').AsString := txtCodEspecialidade.Text;

DMFisio.QCadMedico.ExecSQL;

 

assim broder ??

tpw continua dando erro se for

Compartilhar este post


Link para o post
Compartilhar em outros sites

FAzendo assim, os valores da atualização estão iguais ao valores da clausula, o que significa que você está atualizando um registro que já está na sua mão!! entende?

 

será que você precisa mesmo usar o update??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.