Ir para conteúdo
Fórum Script Brasil
  • 0

Erro na Consulta em componentes criados em


robinhocne

Pergunta

Erro!!

são 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;
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 imagem da tela e do erro:

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

Espero que tenham entendido!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Dynamic SQL Error

Sql error code = - 104

Unexpected end of command - line, column 45.

tradução do erro:

Erro de SQL dinâmico

Sql erro código = - 104

Fim inesperado de comando - linha, coluna 45.

veja a sua instrução sql, o erro está na coluna 45

instrucaosql := 'select ' + pcampos + ' from ' + ptabela;
   if (pcondicao<>'') then
      begin
      instrucaosql := instrucaosql+' where ' + pcondicao;
      end;
   //showmessage (instrucaosql);

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...