Erro ao Fazer Consulta em componentes em tempo de exe...

11/07/2008

0

Erro!!

Sao cinco campos, e nos tres primeiros dá o erro, e nos dois ultimos
não dão o erro, esse erro ocorre se eu consulto chamando a tela de pesquisa.

esse é o erro:


Dynamic SQL Error Sql error code = - 104 Unexpected end of command - line, column 45.



Eu crio esse cinco componentes de acordo com o quanto usuario vai querer, e eu faço dois tipo de consulta Primeiro pelo o OnExit dos Campos pequenos que são para os Códigos dos Alunos....mas ai nem dá erro ....
e quando eu faço chamando o formulario de pesquisa nos 3 primeiros campos dão erro e nos dois ultimos não.

Esse é o codigo da consulta para o OnExit dos Codigos.


procedure TFrmFormarTumaTeorica.ConsultaAlunosCodigo(Sender: TObject);
begin
  ConsultaRegistros (´Alunos´, ´Codigo, Nome´, ´Codigo=´ + TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text);
  TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text := LeDados (´Codigo´);
  TEdit( FindComponent( ´NomAlu´ + IntToStr( Conta ) ) ).Text := LeDados (´Nome´);
  TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text := StrZero( StrToFloat( TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text ), 6 );
  Conta := Conta + 1;
  If Conta < Alunos then
    begin
      TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).SetFocus;
    end;
end;



.....continua.......


Robinhocne

Robinhocne

Responder

Posts

11/07/2008

Robinhocne

....terminado.....

Esse codigo é para chamar a tela de pesquisa:

procedure TFrmFormarTumaTeorica.ConsultaAlunos;
begin
with vcpo do
      begin
         clear;
         add ( ´Codigo´ );
         add ( ´Nome´ );
         add ( ´Cpf´ );
      end;
   with vvlr do
      begin
         clear;
         add ( ´Código´ );
         add ( ´Nome´ );
         add ( ´Cpf´ );
      end;
   with tfrmpesaluno.create (application) do
      begin
         try
            tabela       := ´Alunos´;
            camporetorno := ´codigo´;
            showmodal;
         finally
            free;
        end;
   end;
   if (retorno<> ´´) then
    begin
      ConsultaRegistros (´Alunos´, ´Codigo, Nome´, ´Codigo=´ + Retorno);//TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text);
      TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text := Retorno;//LeDados (´Codigo´);
      TEdit( FindComponent( ´NomAlu´ + IntToStr( Conta ) ) ).Text := LeDados (´Nome´);
      TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text := StrZero( StrToFloat( TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).Text ), 6 );
      Conta := Conta + 1;
      If Conta < Alunos then
        begin
          TEdit( FindComponent( ´CodAlu´ + IntToStr( Conta ) ) ).SetFocus;
        end;
      end;
end;


O ConsultaRegistros é uma funcão que tenho:


function consultaregistros (ptabela, pcampos, pcondicao :string) : boolean ;
var instrucaosql :string;
begin
   instrucaosql := ´select ´ + pcampos + ´ from ´ + ptabela ;
   if (pcondicao<>´´) then
      begin
      instrucaosql := instrucaosql+´ where ´ + pcondicao;
      end;
   //showmessage (instrucaosql);
   with dtmiza.qryiza do
      begin
         close;
         sql.Clear;
         sql.add (instrucaosql);
         open;
      end;
   result := (not dtmiza.qryiza.IsEmpty);

end;



e esse é dos edits codigo e nome que eu crio:


procedure TFrmFormarTumaTeorica.FormCreate(Sender: TObject);
var
  SP, CA, CAC, A : Integer;
  CodAlu, NomAlu : TEdit;
  SpbAlu : TSpeedButton;
begin

  with DtmIza.QryIza do
    begin
      close;
      sql.clear;
      sql.add(´select * from Configuracao´);
      open;
    end;

  Alunos := DtmIza.QryIza.FieldByName(´TOT_ALU_TEORICAS´).AsInteger;

// Criando total de alunos
   for CAC := 1 to Alunos do 
      begin
        CodAlu := TEdit.Create(Self);
        with CodAlu do
          begin
            Name       := ´CodAlu´+ IntToStr(CAC);
            Tag        := ca;
            Left       := 0;
            Height     := 20;
            Width      := 55;
            AutoSize   := false;
            Font.Size  := 8;
            Text       := ´´;
            top        := -19+(CAC*20);
            Font.Style := [fsbold];
           Parent     := Grade;
           OnExit  := ConsultaAlunosCodigo;          
          end;
      end;

// Criando total de alunos
   for CA := 1 to Alunos do 
      begin
        NomAlu := TEdit.Create(Self);
        with NomAlu do
          begin
            Name       := ´NomAlu´+ IntToStr(CA);
            Tag        := ca;
            Left       := 56;
            Height     := 20;
            Width      := 270;
            AutoSize   := false;
            Font.Size  := 8;
            Text       := ´´;
            top        := -19+(CA*20);
            Font.Style := [fsbold];
            Parent     := Grade;
          end;
    end;

   Conta := 1;

end;


A imgem da tela e do erro:

[url]http://www.4shared.com/file/54745979/b42dba4/imagem2.html[/url]

Espero que tenham entendido!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar