O que está errado nesta consulta?

Delphi

25/11/2004

Estou usando MySQL / Componente Zeos:

With Alunos Do Begin Close; SQL.Clear; SQL.Add(´SELECT * FROM TB_Alunos´); SQL.Add(´WHERE NomeDaUnidade= :P1 AND NomeDoCurso= :P2 AND DataDeColacao= :P3 AND Turma= :P4´); SQL.Add(´ORDER BY NomeDoAluno´); ParamByName(´P1´).Value:=ComboUnidades.Text; ParamByName(´P2´).Value:=ComboCursos.Text; ParamByName(´P3´).AsDate:=Null; ParamByName(´P4´).Value:=MaskEdit1.Text; Open; End;


Ao executar a consulta, surge a mensagem: Surge a mensagem [b:69402f3ece]Invalid variant type conversion.[/b:69402f3ece]

Grato,

Ilano.


Ilanocf

Ilanocf

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

25/11/2004

With Alunos Do 
Begin 
Close; 
SQL.Clear; 
SQL.Add(´SELECT * FROM TB_Alunos´); 
SQL.Add(´WHERE NomeDaUnidade= 1 AND NomeDoCurso= 2 AND DataDeColacao= 3 AND Turma= 4´); 
SQL.Add(´ORDER BY NomeDoAluno´); 
ParamByName(´P1´).AsString:=ComboUnidades.Text; 
ParamByName(´P2´).AsString:=ComboCursos.Text; 
ParamByName(´P3´).AsDate:=Null; 
ParamByName(´P4´).AsString:=MaskEdit1.Text; 
Open; 
End; 



GOSTEI 0
Xtreme

Xtreme

25/11/2004

With Alunos Do 
Begin 
Close; 
SQL.Clear; 
SQL.Add(´SELECT * FROM TB_Alunos´); 
SQL.Add(´WHERE NomeDaUnidade= :P1 AND NomeDoCurso= :P2 AND DataDeColacao= :P3 AND Turma= :P4´); 
SQL.Add(´ORDER BY NomeDoAluno´); 
ParamByName(´P1´).AsString:=ComboUnidades.Text; 
ParamByName(´P2´).AsString:=ComboCursos.Text; 
ParamByName(´P3´).AsDate:=Null; 
ParamByName(´P4´).AsString:=MaskEdit1.Text; 
Open; 
End; 


O erro esta no parametro 3 onde vc passa a data como null, o correto seria dentro do sql vc colocar ´DataDeColacao is null´ e nao da forma como esta atualmente!


GOSTEI 0
Ilanocf

Ilanocf

25/11/2004

Valeu xtreme!

Meu código agora ficou assim:

With Alunos Do Begin Close; SQL.Clear; SQL.Add(´SELECT * FROM TB_Alunos´); SQL.Add(´WHERE NomeDaUnidade= :P1 AND NomeDoCurso= :P2 AND Turma= :P3 AND [b:495e293a2d][color=red:495e293a2d]DataDeColacao Is Not Null[/color:495e293a2d][/b:495e293a2d]´); SQL.Add(´ORDER BY NomeDoAluno´); ParamByName(´P1´).Value:=ComboUnidades.Text; ParamByName(´P2´).Value:=ComboCursos.Text; ParamByName(´P3´).Value:=MaskEdit1.Text; Open; End;


Obrigado pela atenção de todos.


GOSTEI 0
POSTAR