Fórum Order By some com os registros quando ... #41939
31/01/2004
0
´DATA >= :DtInicio AND DATA <= :DtFim´
Alguem pode me ajudar?
Código em Delphi que monta a Query:
procedure TfmConsultaLavagens.btnExecutarClick(Sender: TObject);
Var
QTD : Byte;
begin
inherited;
quResultado.Close;
quTotal.Close;
quResultado.SelectSQL.Clear;
quTotal.SelectSQL.Clear;
quResultado.SelectSQL.Add(´SELECT * FROM LAVAGENS´);
quTotal.SelectSQL.Add(´SELECT COUNT(CODLAVAGEM), SUM(Valor) FROM LAVAGENS´);
QTD:=0;
If (cbxUnidade.Checked) or (cbxTipo.Checked) or (cbxData.Checked) Then
Begin
quResultado.SelectSQL.Add(´WHERE´);
quTotal.SelectSQL.Add(´WHERE´);
End;
If cbxUnidade.Checked Then
Begin
If QTD > 0 Then
Begin
quResultado.SelectSQL.Add(´AND´);
quTotal.SelectSQL.Add(´AND´);
End;
quResultado.SelectSQL.Add(´CODUNIDADE=´+quUnidadesCODUNIDADE.AsString);
quTotal.SelectSQL.Add(´CODUNIDADE=´+quUnidadesCODUNIDADE.AsString);
QTD:=QTD+1;
End;
If cbxData.Checked Then
Begin
If QTD > 0 Then
Begin
quResultado.SelectSQL.Add(´AND´);
quTotal.SelectSQL.Add(´AND´);
End;
quResultado.SelectSQL.Add(´DATA >= :DtInicio AND DATA <= :DtFim´);
quResultado.Params[0].AsDate:=DtInicio.Date;
quResultado.Params[1].AsDate:=DtFim.Date;
quTotal.SelectSQL.Add(´DATA >= :DtInicio AND DATA <= :DtFim´);
quTotal.Params[0].AsDate:=DtInicio.Date;
quTotal.Params[1].AsDate:=DtFim.Date;
End;
If cbxTipo.Checked Then
Begin
If QTD > 0 Then
Begin
quResultado.SelectSQL.Add(´AND´);
quTotal.SelectSQL.Add(´AND´);
End;
quResultado.SelectSQL.Add(´CODTIPO=´+quTipoLavagensCODTIPO.AsString);
quTotal.SelectSQL.Add(´CODTIPO=´+quTipoLavagensCODTIPO.AsString);
QTD:=QTD+1;
End;
ShowMessage(quResultado.SelectSQL.Text);
ShowMessage(quTotal.SelectSQL.Text);
quResultado.SelectSQL.Add(´ORDER BY DATA´);
quResultado.Open;
quTotal.Open;
end;
Drakkar
Curtir tópico
+ 0Posts
31/01/2004
Afarias
|´DATA >= :DtInicio AND DATA <= :DtFim´
Não
o q está havendo?? vc recebe uma mensagem de erro?? se SIM, qual??
se não, apenas não aparece registros?? os registros no banco conferem com as opções de consulta?? já testou no IBConsole?? se sim, qual o comando q usou no IBConsole??
T+
Gostei + 0
31/01/2004
Drakkar
Botei a SELECT na mão no IBExpert usando ORDER BY é retornou certo, acho que é problema com o IBX...
Select no IBExpert:
Select * FROM Lavagens Where Data >= ´01.01.2004´ AND Data <= ´30.01.2004´ ORDER BY CODLAVAGEM
Gostei + 0
31/01/2004
Drakkar
Vlw pela atenção.
Gostei + 0
31/01/2004
Afarias
|fica uma pergunta... qual a diferença entre esses dois?
NENHUMA! -- O IBDataSet é uma espécie de IBQuery com IBUpdateSQL junto!
Provavelmente a questão ai é outra...
Qualquer coisa, posta mais informações, blz!
T+
Gostei + 0
31/01/2004
Drakkar
Gostei + 0
01/02/2004
Luppy
Pra quem não tem esse problema, qual a versão do IBX que estão usando?
Até
Gostei + 0
01/02/2004
Fabio.hc
Eu tive um problema com a palavra NATURAL (de naturalidade), troquei o nome e acabou o problema.
Gostei + 0
01/02/2004
Drakkar
Gostei + 0
01/02/2004
Fabio.hc
Gostei + 0
01/02/2004
Drakkar
hehe
Gostei + 0
02/02/2004
Afarias
|mesmo problema, resolveu quando passei o valor dos Params depois do
|Order By, tente fazer isso e diz qual o resultado.
é BUG sim... mas não do IBDataSet -- Só se pode(deve) preencher qualquer parâmetro do SQL (SelectSQL) depois de todo SQL ter sido definido!
Não se pode(deve) asinalar os parâmetros e depois concluir o código SQL -- este procedimento está errado.
No mais, sugiro q todos certifíquem-se de atualizar seu IBX para a versão mais recente.
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)