Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3014 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

olá. mudei do delphi 7 para o 2010, foi tranquilo, agora estou tentando o xe7

estou com problema com consultas pois no 2010 funciona normal ja no xe7 mostra erro nos Parambyname,

anexo a consulta, caso alguém com mais conhecimento possa ajudar. 

consulta.txt

Postado
46 minutos atrás, Cleber disse:

Boa noite,

 

Mas que erro é causado? Mensagens???

erro nesta linha : Parambyname('dataini').AsDate := strtodate(edtdataini.Text);erro em consulta .jpg

16 minutos atrás, Agnaldo Prates disse:

Pode ser que não, mas, a meu ver está faltando um prepare na sua consulta antes do  parambyname.

.

 

pode ser, mas nos delphi 7 e 2010 funciona desta forma

Postado

Ao invés de:

sql.Text:= SELECT SUM(I.VALOR) TOTAL, I.COD_FORMA, F.DESCRICAO, F.TIPO

Faça

Sql.Add( 'SELECT SUM(I.VALOR) TOTAL, I.COD_FORMA, F.DESCRICAO, F.TIPO ');
Sql.Add('...')

Isso pode estar influenciando na interpretação do delphi.
 

_____________

Prates, Agnaldo

Postado

Antonio qualquer coisa tira o parambyname e joga direto os parâmetros na SQL:

Tipo:

....

if not CheckHora.Checked then
            begin
               //sql.Add('WHERE V.DATA_VEN BETWEEN :DATAINI AND :DATAFIN AND V.CANCELADA_VEN = 0');
               sql.Add('WHERE V.DATA_VEN BETWEEN '+ QuotedStr(edtdataini.Text)+ ' AND ' + QuotedStr(edtdatafin.Text) + ' AND ' + '.CANCELADA_VEN = 0');            
            end

......

Postado

Antonio, 

Coloque aqui no forum todo o codigo que você esta usando para fazer a inclusão do SQL, inclusive com a linha do group by. Desconfio que o problema esteja no comando SQL e não nos componentes do Delphi. 

Postado

Antonio,

Experimenta, jogar os parametros de uma vez só , somente para teste, acho que uma vez aconteceu isso comigo:

 

   with QTotalFormas do
      begin
         close;
         sql.Clear;
         sql.Text:= 'SELECT SUM(I.VALOR) TOTAL, I.COD_FORMA, F.DESCRICAO, F.TIPO  ' +
                    'FROM VENDAS_FORMAS_PAGAMENTO I ' +
                    'INNER JOIN VENDAS V            ' +
                    'ON (I.COD_VENDA = V.COD_VEN)   ' +
                    'INNER JOIN FORMAS_PAGAMENTO F  ' +
                    'ON (I.COD_FORMA = F.CODIGO)';

         if not CheckHora.Checked then
            begin
               sql.Add(' WHERE V.DATA_VEN BETWEEN :DATAINI AND :DATAFIN ' +
                       ' AND V.CANCELADA_VEN = 0');
            end
         else
            begin
               sql.Add(' WHERE V.DATA_HORA_VEN BETWEEN :DATAINI AND :DATAFIN ' +
                       ' AND V.CANCELADA_VEN = 0');
            end;

         sql.Add(' AND V.COD_CAI = :CODCAI AND V.COD_EMP = :CODEMP AND V.COD_USU = :CODUSU ' +
                 ' GROUP BY I.COD_FORMA, F.DESCRICAO, F.TIPO ' +
                 ' ORDER BY F.DESCRICAO');

         if not CheckHora.Checked then
            begin
               Parambyname('dataini').AsDate := strtodate(edtdataini.Text);
               Parambyname('datafin').AsDate := strtodate(edtdatafin.Text);
            end
         else
            begin
               Parambyname('dataini').AsDateTime := strtodate(edtdataini.Text) + strtotime(edthoraini.Text);
               Parambyname('datafin').AsDateTime := strtodate(edtdatafin.Text) + strtotime(edthorafin.Text);
            end;
         parambyname('codcai').AsInteger:= iCaixa;
         parambyname('codemp').AsInteger:= iEmp;
         parambyname('codusu').AsInteger:= ICodUsu;

         open;
         first;

 

 

  • Este tópico foi criado há 3014 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.