ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Como chamar um dado que está no banco de dados.
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Artorius
Novato
Novato


Registrado: Segunda-Feira, 20 de Fevereiro de 2017
Mensagens: 7

MensagemEnviada: Sáb Mai 06, 2017 10:06 am    Assunto: Como chamar um dado que está no banco de dados. Responder com Citação

Estou fazendo um programa que tem que acessa um banco de dados. No banco tem informações dos pacientes. Eu tenho um dado Índice de massa corporal, IMC, (no banco ele está como 'decimal 3,1') se o IMC ficar entra uma valor X ele é automaticamente preenchido (TDBEdit) como normal, sobre peso e obesidade sendo que essa informações já estão no banco como enum.

if (qryPacienteIMC.AsFloat>=18.5) and (qryPacienteIMC.AsFloat<25) then dbeSobrepeso.Text:= qryPacienteSobrepeso.AsString;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Mai 06, 2017 10:15 am    Assunto: Responder com Citação

Pelo que vi aí, você chamou somente um tipo, terá de fazer isto para os outros tipos de peso conforme a nomenclatura e as faixas que você citou.

bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Artorius
Novato
Novato


Registrado: Segunda-Feira, 20 de Fevereiro de 2017
Mensagens: 7

MensagemEnviada: Sáb Mai 06, 2017 10:21 am    Assunto: Responder com Citação

johnny-walker escreveu:
Pelo que vi aí, você chamou somente um tipo, terá de fazer isto para os outros tipos de peso conforme a nomenclatura e as faixas que você citou.

bye



Sim sim, mas o codigo

dbeSobrepeso.Text:= qryPacienteSobrepeso.AsString

está errado ele nao roda e essa a minha duvida, o que tenho que fazer para ele captura essa informação. Eu sou aluno de farmacia estou tentando fazer uma calc para o lab que faço estagio.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 10:25 am    Assunto: Responder com Citação

Olá!
Além do que o Johnny-walker disse, penso também que você já está fazendo isto. Ou seja já está "chamando um dado que está no banco de dados".

Não é verdade? No momento que que o TDBEdit está recebendo o valor do objeto qryPaciente, não está "chamando um dado que está no banco de dados"?
_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 10:27 am    Assunto: Responder com Citação

Por causa da sua resposta, eu sugiro que você mostre o código.
_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Artorius
Novato
Novato


Registrado: Segunda-Feira, 20 de Fevereiro de 2017
Mensagens: 7

MensagemEnviada: Sáb Mai 06, 2017 10:31 am    Assunto: Responder com Citação

conorte escreveu:
Olá!
Além do que o Johnny-walker disse, penso também que você já está fazendo isto. Ou seja já está "chamando um dado que está no banco de dados".

Não é verdade? No momento que que o TDBEdit está recebendo o valor do objeto qryPaciente, não está "chamando um dado que está no banco de dados"?


Não está ele dá um erro. Eu sei que e algo de errado na linha de comando.

procedure TfCadastro.qryPacienteBeforeRefresh(DataSet: TDataSet);
begin
begin
qryPacienteSC.AsFloat:= sqrt((qryPacienteAltura.AsFloat)*(qryPacienteMassa.AsFloat)/3600);
qryPacienteIMC.AsFloat:= ((qryPacienteMassa.AsFloat)/((qryPacienteAltura.AsFloat/100)*(qryPacienteAltura.AsFloat/100)));
end;
begin
if (qryPacienteIMC.AsFloat>=1Cool and (qryPacienteIMC.AsFloat<25) then
// não sei o que fazer aqui para chamar o dado //
end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 10:39 am    Assunto: Responder com Citação

Olá!
Informe o erro também. Tudo o que estiver escrito no erro.
_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Artorius
Novato
Novato


Registrado: Segunda-Feira, 20 de Fevereiro de 2017
Mensagens: 7

MensagemEnviada: Sáb Mai 06, 2017 10:59 am    Assunto: Responder com Citação

conorte escreveu:
Olá!
Informe o erro também. Tudo o que estiver escrito no erro.



Projeto Hiperdia elevou classe exceção 'EDatabaseError' com a mensagem:
qryPaciente: Operation not allowed, dataset "%s" is not in an edit or insert state.

No endereço 10022A0B3
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Mai 06, 2017 1:37 pm    Assunto: Responder com Citação

Desabilite o HTML ao postar o código, pois assim está sendo colocado smiles no código e acaba atrapalhando a leitura e visualização.



Descreva direito o que você quer, com os campos da tabela e o que você quer acessar, junto com os componentes de acesso, assim o pessoal monta o código e fica mais fácil esclarecer sua dúvida. Admito que até o momento não tinha compreendido sua dúvida, já que não foi expresso o erro que está acontecendo.




bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 3:58 pm    Assunto: Responder com Citação

Olá!
Fiz um suporte remoto pra ajudar o amigo.
Ele não usa Delphi. A princípio achei que fosse com o Lazarus, mas apesar dele também usar Lazarus ele está usando um outro que deve ser alguma distribuição do Lazarus ou algo assim.

Não sei direito o nome mas o ícone é o desenho de um furacão azul.

Tentamos de várias maneiras e no fim fizemos algo simples. Na saída de um TDBedit ele executa um comando sql para atualizar um campo no banco.
_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Mai 06, 2017 6:52 pm    Assunto: Responder com Citação

interessante, não sabia que havia outras IDE baseadas no Lazarus.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 7:11 pm    Assunto: Responder com Citação

Veja umas imagens.

_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 7:22 pm    Assunto: Responder com Citação

Veja umas imagens.

_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 7:30 pm    Assunto: Responder com Citação


_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

MensagemEnviada: Sáb Mai 06, 2017 7:46 pm    Assunto: Responder com Citação

Ficamos algumas horas ... ele disse que já estava a dois meses nestes problemas ... e que estava acordado desde as cinco da manhã ... ele é lá da região da Amazônia ... é farmacêutico e não manja muito de programação ... mas fico pensando ... imagine se manjasse ... pois as ideias dele e as interfaces são muito interessantes ...

... mas na verdade, esta solução não vai dar certo. Depois que você postou pedindo pra ele desabilitar o html, que eu parei um pouco pra pensar e notei o erro. Então informei ele por email:


Citação:
Artur,
me lembrei de algo agora.
Não está correto fazer aquele update.
Se fizer assim vai atualizar todos os outros campos.

O UPDATE tem que ser assim:
UPDATE PACIENTE SET CLASSIFICAÇÃO = 'NORMAL' WHERE código_do_paciente = 10,
por exemplo.

Como dava erro quando o dbedit recebia o valor então tente usar quando apertar o botão de gravar. Ou seja, coloque aquele código no botão de gravar.


_________________
Luciano Moraes
1º curso de Pascal em 1998.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB