Fórum Incrível minha atualização pelo código não atualiza 1 campo #41539

14/01/2004

0

Estou usando, Delphi 6 / IBX / Interbase 6

Eu tenho uma tabela que tem os campos:

Recebido / Secretaria_Recebeu

Eu faço,

sql.add(´UPDATE CONSULTAS ´+
           ´SET RECEBIDO = ´´´+´S´+´´´, ´+
           ´SECRETARIA_RECEBEU = :SECRETARIA_RECEBEU ´+
           ´WHERE ....{aqui não coloquei porque funciona}... ´);


Acontece que o campo: Secretaria_Recebeu é atualizado. Mas o campo Recebido não é atualizado.... :/

Já tentei passar o ´S´ por parâmetro, da forma que sempre faço e sempre funcionou e não atualiza....

Quando eu coloco o mesmo SQL no prompt do IBConsole atualiza...

Já tentei dropar o campo RECEBIDO e criar de novo... que nada...
:roll:
Não tem nenhuma trigger...

O que está acontecendo? Alguém sabe? :cry:

Grato,

Paulo.


Paulo Silva

Paulo Silva

Responder

Posts

14/01/2004

Afarias

Bom, acho melhor vc postar o código completo...

...vc está preenchando o parâmetro SECRETARIA_RECEBEU ??


T+


Responder

Gostei + 0

14/01/2004

Paulo Silva

[b:9c47522dc6]Aqui está o código, lembrando que somente o campo RECEBIDO não está sofrendo alteração, sendo que o segundo campo SECRETARIA_RECEBEU é alterado.... [/b:9c47522dc6]

Muito louco isso... e Triste... :cry:

      qryGeral.close;
      qryGeral.sql.clear;
      qryGeral.sql.add(´UPDATE Consultas ´+
                       ´SET recebido                 = :recebido, ´+
                       ´codSecretaria_Recebeu        = :codSecretaria ´+
                       ´WHERE dataConsulta           = :dataConsulta ´ +
                       ´AND horarioConsulta          = :horarioConsulta ´ +
                       ´AND codMedico                = :codMedico ´ +
                       ´AND codConsulta              = :codConsulta ´);

      if bEh_Retorno then
         qryGeral.ParamByName(´recebido´).asString   := ´R´
      else if not(bEh_Retorno) then
         qryGeral.ParamByName(´recebido´).asString   := ´S´;

      qryGeral.ParamByName(´codSecretaria´).asString   := dmDados.sCodSecretaria;
      qryGeral.ParamByName(´dataConsulta´).asDateTime  := dmDados.ibConsultas.FieldByName(´dataConsulta´).asDateTime;
      qryGeral.ParamByName(´horarioConsulta´).asString := dmDados.ibConsultas.FieldByName(´horarioConsulta´).asString;
      qryGeral.ParamByName(´codMedico´).asString       := dmDados.ibConsultas.FieldByName(´codMedico´).asString;
      qryGeral.ParamByName(´codConsulta´).asString     := dmDados.ibConsultas.FieldByName(´codConsulta´).asString;
      qryGeral.ExecSQL;



Responder

Gostei + 0

14/01/2004

Paulo Silva

Descobri um detalhe, o CODSECRETARIA_RECEBEU não está sendo atualizado nesse procedimento....

Está sendo atualizado em um procedimento mais abaixo....

Aqui não está realmente encontrando, por causa da DATA parece, quando eu passo a data como parâmetro no IBConsole eu tenho que passa-la com o dia/mes invertido....

Será que tenho que fazer o mesmo ao passar o código do Delphi também?

Alguém sabe como fazer isso???

Novamente agradeço.

Paulo.


Responder

Gostei + 0

14/01/2004

Afarias

Não deveria ser:: (??)

  if bEh_Retorno then 
      qryGeral.ParamByName(´recebido´).asString   := ´R´ 
  else 
      qryGeral.ParamByName(´recebido´).asString   := ´S´;



bom, ainda assim... é estranho realmente... depure o código linha a linha e veja se tudo está sendo realizado perfeitamente



T+


Responder

Gostei + 0

14/01/2004

Paulo Silva

pode ler a mensagem anterior a essa sua ultima?

eu descobri algo...

grato.


Responder

Gostei + 0

14/01/2004

Afarias

|Será que tenho que fazer o mesmo ao passar o código do Delphi
|também?

Quando se passa a Data como um parâmetro (TDateTime) essa preocupação não existe.


T+


Responder

Gostei + 0

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

Aceitar