Ir para conteúdo

POWERED BY:

Arquivado

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

smllizlcs

[Resolvido] Consulta ao Banco de dados

Recommended Posts

E ai Pessoal estou com a seguinte duvida:

 

Tenho um cadastro de aluno que contem Entrada, Matricula, Nome, Hora.

 

Agora vai minha duvida, quando for salvar uma nova entrada preciso consultar no banco de dados se o aluno ja esta cadastrado no banco e se a hora e maior ou menor para poder dar uma menssagem ao usuario.

 

obs: as ferramentas que estou usando e Delphi 7, ADOConnection, ADOquery e instrucoes SQL.

 

Obrigado Pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que nao fui mto claro.

 

faço o seguinte comando para salvar:

 

adoquery.sql.text:='insert into Tabela(Entrada, Matricula, Nome, Hora)Values(:Entrada, :Matricula, :Nome, :Hora)';

 

antes desse comando preciso verificar se o aluno ja esta cadastrado e se a hora e menor ou maior, isso eu não sei fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça via comando sql tbm ...

 

query.sql.text:= 'select MATRICULA from TABELA_ALUNOS where MATRICULA = :pMatricula';
query.parambyname('pMatricula').value:= 1;
query.open;
if not query.isempty then //localizou aluno com matricula = 1
begin
    showmessage('Aluno com esta matrícula já está cadastrado');
end;
query.close

acima coloquei só um exemplo ... substitua pela sua query, nome de campo e tabela ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça via comando sql tbm ...

 

query.sql.text:= 'select MATRICULA from TABELA_ALUNOS where MATRICULA = :pMatricula';
query.parambyname('pMatricula').value:= 1;
query.open;
if not query.isempty then //localizou aluno com matricula = 1
begin
    showmessage('Aluno com esta matrícula já está cadastrado');
end;
query.close

acima coloquei só um exemplo ... substitua pela sua query, nome de campo e tabela ...

 

ok, agora como faço para verificar se a hora e maio ou menor? obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fica tudo no comando SQL:

 

query.sql.text:= 'select MATRICULA from TABELA_ALUNOS where (MATRICULA = :pMatricula) and (HORA < :pHora)';

query.parambyname('pMatricula').value:= 1;

query.parambyname('pHora').value:= time;

Compartilhar este post


Link para o post
Compartilhar em outros sites

if Key=VK_RETURN then
  begin
  dmBanco.Conexao.Connected:=true;
  adoControl.SQL.Text:='Select Matricula from Controle where (Matricula= :Matricula) and (HoraLimite< :HoraLimite)';
  adoControl.Parameters.ParamByName('Matricula').Value:=txtMatricula.Text;
  adoControl.Parameters.ParamByName('HoraLimite').Value:=StrToTime(txtHora.Text);
  adoControl.Open;
  If adoControl.IsEmpty then
    imgCobrar.Visible:=true
  else
    imgLiberar.Visible:=true;
  adoControl.Close;
  end;

E ai pessoal coloquei assim e deu certo. mas esta ocorrendo um erro, quando entra minutos essa verificação não fuciona.

Alguem poderia se tem alguma função para converter a Hora em numeros?

obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

if Key=VK_RETURN then
  begin
  dmBanco.Conexao.Connected:=true;
  adoControl.SQL.Text:='Select Matricula from Controle where (Matricula= :Matricula) and (HoraLimite< :HoraLimite)';
  adoControl.Parameters.ParamByName('Matricula').Value:=txtMatricula.Text;
  adoControl.Parameters.ParamByName('HoraLimite').Value:=StrToTime(txtHora.Text);
  adoControl.Open;
  If adoControl.IsEmpty then
    imgCobrar.Visible:=true
  else
    imgLiberar.Visible:=true;
  adoControl.Close;
  end;

ok resolvido com o codigo acima, o meu banco de dados tava errado.

 

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Huhu, ja to colando resolvido galera.. Parabens ai pela solução

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.