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

(Resolvido) Erro Na Instrução Sql


robinhocne

Pergunta

Bom!

Preciso buscar esses dados na tabela de lancamentos:

Aluno

Parcela

Valor

Vencimento

Emissao

DtPgto

E queria colocar em order a Parcela e a Emissao:

Fiz dessa maneira:

With QryExtorno do
      Begin
         Close;
         Sql.Clear;
         Sql.Add ('Select L.Aluno, L.Parcela, L.Valor, L.Vencimento, L.Emissao I.Aluno From Lancamento A, ' +
                  'Lancamento I Where L.Aluno=' + TxtCod.Text +
                  ' Order By L.Parcela, L.Emissao' );
         Open;
      End;

E dá esse erro na hora da busca!

Dynamic SQL Error SQL error code= -104

Token unknown - line1, char 61

O que está dando de errado?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Agora deu esse erro

Dynamic SQL Error SQL error code= -206

Column unknown L.Aluno.

vou ser obrigado a "plagiar" o Jhonas ;) :

Erro de SQL dinâmico Código de Erro SQL = -206

Coluna desconhecida L.Aluno

Aparentemente não existe uma coluna com o nome Aluno na tabela de alias L, ou seja, Lancamento.

Como dica, segue um link que pode lhe ajudar com as traduções: AltaVista Babel Fish

Link para o comentário
Compartilhar em outros sites

  • 0
Agora deu esse erro

Dynamic SQL Error SQL error code= -206

Column unknown L.Aluno.

vou ser obrigado a "plagiar" o Jhonas ;) :

Erro de SQL dinâmico Código de Erro SQL = -206

Coluna desconhecida L.Aluno

Aparentemente não existe uma coluna com o nome Aluno na tabela de alias L, ou seja, Lancamento.

Como dica, segue um link que pode lhe ajudar com as traduções: AltaVista Babel Fish

Ok, Micheus acabei fazendo umas alterações no banco de dados e mudei algumas coisas mas agora esta:

Que ao abrir o formulário do caixa ele aparecer os dados no grid, mas!

só os lancamentos do dia!

Esses são os dados que preciso mostrar no grid:

Parcela

Aluno

Parcela

Valor

DtPgto

Historico

Não tenho muita pratica em instrução Sql e fiz dessa maneira:

With QryCaixa do
      Begin 
         QryCaixa.Close;
         QryCaixa.SQL.Text := 'Select Parcela,Valor,Vencimento,Emissao,DtPgto From Lancamento Where Aluno = ' + TxtCod.Text;
         QryCaixa.Open;
      end;
E coloquei no evento OnShow do formulario do caixa e dá esse erro:
Unexpected end of command

Alguém poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0
Que ao abrir o formulário do caixa ele aparecer os dados no grid, mas!

só os lancamentos do dia!

Esses são os dados que preciso mostrar no grid:

Parcela

Aluno

Parcela

Valor

DtPgto

Historico

Não tenho muita pratica em instrução Sql e fiz dessa maneira:

With QryCaixa do
      Begin 
         QryCaixa.Close;
         QryCaixa.SQL.Text := 'Select Parcela,Valor,Vencimento,Emissao,DtPgto From Lancamento Where Aluno = ' + TxtCod.Text;
         QryCaixa.Open;
      end;
bom, para mostrar os lançamentos do dia você teria que filtrar na cláusula WHERE a data de pagamento = ao dia atual. Acredito que neste caso, filtrar o aluno seria algo opcional, já que provavelmente num determinado dia poderá haver um pagamento ou nenhum para tal aluno. Supondo que seja o dia atual e não uma data informada, você poderia fazer uma SQL mais ou menos assim: SELECT Parcela, Valor, Vencimento, Emissao, DtPgto FROM Lancamento WHERE DtPgto = current_date // current_date no FireBird retorna data atual no servidor caso você queira ainda filtrar o aluno, ou seja, o pagamento de determinado aluno no dia atual, basta acrescentá-lo ao "filtro" na cláusula WHERE: SELECT Parcela, Valor, Vencimento, Emissao, DtPgto FROM Lancamento WHERE DtPgto = current_date AND Aluno = <código do aluno> // ao montar seu código, você terá que concatenar o código, como já o fez no exemplo que você postou.
E coloquei no evento OnShow do formulario do caixa e dá esse erro:
Unexpected end of command

parece-me um erro razoável. Por acaso, neste momento o seu TEdit - TxtCod não está com a propriedade Text "em branco"?! Então, "substitua" isto na sua consulta e veja como ela ficará. Aqui temos a linha que você monta no OnShow:

QryCaixa.SQL.Text := 'Select Parcela,Valor,Vencimento,Emissao,DtPgto From Lancamento Where Aluno = ' + TxtCod.Text;

sabendo que TxtCod.Text está com valor nulo (''), então será executado o Open com a instrução assim:

QryCaixa.SQL.Text := 'Select Parcela,Valor,Vencimento,Emissao,DtPgto From Lancamento Where Aluno = ';

Logo o parser vai entender que o comando está incompleto, já que depois do "=" não tem nada!

Sugestão, se você for mostrar inicialmente por data, utilizando o 1º SQL que postei, você terá no DBGrid os dados do pagamento no dia. Então este seria o SQL que você colocaria no OnShow.

Mas, se for filtrar ainda o aluno no dia, ou até independente do dia (se for o caso), então você deverá modificar sua cláusula WHERE de acordo com o que irá filtrar - poderia ser o 2º SQL que postei, por exemplo.

Abraços

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...