Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wagner Carvalho_60577

string too long

Recommended Posts

estou tentando fazer esse filtro mais está dando erro

string too long

auguem pode me ajudar

 

 

With ADOQuery1 do

begin

Close;

SQL.Clear;

SQL.Add('SELECT Cadastro_de_Alunos.Nome, frequencia.Estatus, frequencia.Motivo, frequencia.Data, Cadastro_de_Alunos.Código, frequencia.Presença FROM Cadastro_de_Alunos INNER JOIN frequencia ON Cadastro_de_Alunos.Código = frequencia.Código WHERE (((frequencia.Data) Between [datainicial] And [datafinal]) AND ((Cadastro_de_Alunos.Código)=[Matrícula]) AND ((frequencia.Presença)="p")');

ADOQuery1.Parameters.ParamByName('[Matrícula]').Value := Edit1.Text;

Parameters.ParamByName('[datainicial]').Value := DateTimePicker1.date;

Parameters.ParamByName('[datafinal]').Value := DateTimePicker2.date;

ADOQuery1.Open;

Compartilhar este post


Link para o post
Compartilhar em outros sites

A String da instrução SQL direto não pode ter mais de 255 caracteres.

Teste seu código assiim:

  With ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add(' SELECT Cadastro_de_Alunos.Nome, frequencia.Estatus, frequencia.Motivo,');
      SQL.Add(' frequencia.Data, Cadastro_de_Alunos.Código, frequencia.Presença ');
      SQL.Add(' FROM Cadastro_de_Alunos INNER JOIN frequencia ON ');
      SQL.Add(' Cadastro_de_Alunos.Código = frequencia.Código ');
      SQL.Add(' WHERE frequencia.Data Between :datainicial And :datafinal AND ');
      SQL.Add(' Cadastro_de_Alunos.Código = :Matrícula AND frequencia.Presença=' + QuotedStr('p'));
      Parameters.ParamByName('Matrícula').Value := Edit1.Text;
      Parameters.ParamByName('datainicial').Value := DateTimePicker1.date;
      Parameters.ParamByName('datafinal').Value := DateTimePicker2.date;
      Open;
    end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.