Yoshi 1 Denunciar post Postado Janeiro 23, 2008 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
marcio.theis 3 Denunciar post Postado Janeiro 23, 2008 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
Yoshi 1 Denunciar post Postado Janeiro 23, 2008 tentei mais tb ta dando erro Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 23, 2008 Bom, coloque a mensagem de erro então :P Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 Mensagem de erro sempre ajuda... ah, falta você setar os parametros que você define como OLD... Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Janeiro 23, 2008 data base erro field "old_crm" Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 ah, falta você setar os parametros que você define como OLD... um deles é old_crm Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Janeiro 23, 2008 como assim? pd me dar um exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 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
Yoshi 1 Denunciar post Postado Janeiro 24, 2008 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
Marcelo R Moura 0 Denunciar post Postado Janeiro 24, 2008 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