Quando fizer um insert, delete ou updade, deve usar execsql, e não open.

Abraço

  ----- Original Message ----- 
  From: maraujo_df 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Sunday, June 05, 2005 10:31 PM
  Subject: [delphi-br] Erro numa query


  Olá pessoal!

  Estou com um probleminha no código que segue no final deste e-mail.

  Criei uma procedure TrataSenha:
  public
      procedure TrataSenha;

  E faço a chamada:
  TrataSenha;

  Quando executo aparece a mensagem quando vai fazer um insert na 
  tabela Aluno:
  Project Estagio.exe raised exception class EDatabaseError with 
  message 'qryAluno: CommandText does not return a result set'.

  Os parâmetros foram criados no TADOQuery. Mesmo após ter ocorrido a 
  mensagem de erro, quando vou verificar o insert da query foi 
  realizado.

  Alguém poderia me dizer onde estou errando? Utilizo o Delphi 2005 e 
  o MS SQL 2000.

  O código segue abaixo:
  procedure TformLogin.TrataSenha;
  begin
    try
      {Verifica se o aluno está cadastrado no DBESTAGIO}
      dm.qryAluno.Close;
      dm.qryAluno.SQL.Clear;
      dm.qryAluno.SQL.Add('Select Aluno_Senha from Aluno where 
  Aluno_Matricula = :Matricula');
      dm.qryAluno.Parameters[0].Value := intMatricula;
      dm.qryAluno.Open;
      strSenha := dm.qryAluno['Aluno_Senha'];

      {Verifica se a Senha do Aluno está correta}
      if formLogin.edtSenha.Text <> strSenha then
        begin
          ShowMessage( 'Você digitou a Senha ERRADA! Tente 
  novamente!' );
          formLogin.edtSenha.SetFocus;
          formLogin.edtSenha.SelectAll;
        end
      else
        ShowMessage( 'Tudo OK' );
    except
      {Novo aluno no DBESTAGIO. A Senha será o mesmo número da
       Matrícula.}
      strSenha := IntToStr( intMatricula );

      {Inlusão do aluno no DBESTAGIO}
      try
        dm.qryAluno.Close;
        dm.qryAluno.SQL.Clear;
        dm.qryAluno.SQL.Add('Insert into Aluno(Aluno_Matricula, 
  Aluno_Nome, Aluno_Senha)');
        dm.qryAluno.SQL.Add('values(:Matricula, :Nome, :Senha)');
        dm.qryAluno.Parameters[0].Value := intMatricula;
        dm.qryAluno.Parameters[1].Value := strAluno;
        dm.qryAluno.Parameters[2].Value := strSenha;
        dm.qryAluno.Open;
      except
        ShowMessage( 'Erro ao cadastrar aluno no DBESTAGIO. Chame o 
  Professor!' );
      end;
    end;
  end;
  --------------------------------------------------------------------





  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]




------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
do Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a