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

(Resolvido) o que há de errado nesse codigo sql?


vms

Pergunta

ola pessoal

o que há de errado nesse codigo

Dinicio := DateToStr(DateTimePicker1.Date);
  Dfinal  := DateToStr(DateTimePicker2.Date);
  Dm.QImpressao.close;
  Application.ProcessMessages;
  Dm.QImpressao.SQL.Clear;
  Dm.QImpressao.SQL.Text := ('select * from Cad_Cheque where Vencimento >=:pInicial and Vencimento <=:pFinal order by +titulocheque);
  Dm.QImpressao.ParamByName('pInicial').AsDateTime := StrToDate(Dinicio);
  Dm.QImpressao.ParamByName('pFinal').AsDateTime := StrToDate(Dfinal);
  Dm.QImpressao.Prepare;
  Dm.QImpressao.Open;

ele dar o seguinte erro

type mismatch in expression
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Acredito que o erro esta aqui, " Vencimento >=:pInicial and Vencimento <=:pFinal", o q é esse dois pontos ':' ?,

faltou fechar aspas no final, esse '+' o q ta fazendo?

Dm.QImpressao.SQL.Text := ('select * from Cad_Cheque where Vencimento >=:pInicial and Vencimento <=:pFinal order by +titulocheque);

Editado por shini
Link para o comentário
Compartilhar em outros sites

  • 0

var

titulocheque : string;

begin

titulocheque := 'campo da tabela';

esse '+' é pra ordenar a tabela e a descrição dos campos estar em varios radiobutton

enquanto ao ':' não sei explicar, peguei essa dica na net desse jeito e tentei usar

Query1.Close; 
  Query1.SQL.Clear; 
  Query1.SQL.Text := 'SELECT Nome,Empresa,FoneRes,FoneCom,Mala FROM Contatos WHERE Data >=:pInicial and Data<=:pFinal ORDER BY Nome'; 
  Query1.ParamByName('pInicial').AsDateTime := StrToDate(Inicio); 
  Query1.ParamByName('pFinal').AsDateTime := StrToDate(Final); 
  Query1.Prepare; 
  Query1.Open;

Link para o comentário
Compartilhar em outros sites

  • 0

Tente assim :

Query1.SQL.Clear; 
  Query1.SQL.Text := 'SELECT Nome,Empresa,FoneRes,FoneCom,Mala FROM Contatos WHERE Data between :pInicial and :pFinal ORDER BY Nome'; 
  Query1.ParamByName('pInicial').Value := DateTimePicker1.Date;
  Query1.ParamByName('pFinal').Value := DateTimePicker2.Date;
  Query1.Open;

esses ":" é para definir que você esta usando ali um parametro que sera mostrado mais abaixo, e não o que esta escrito é o nome do campo em si.

Voce esta convertendo uma data em string, e depois voltando a string para data, mas porque ?

Tenta fazer direto para ver.

Abraços

Editado por Carlos Gonçalves
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...