Modificar SQL de uma Query

30 views
Skip to first unread message

José Ferreira

unread,
Jun 20, 2012, 10:29:40 PM6/20/12
to Delphi + PHP
Quem ajuda,

Começando a explorar RadPHP XE2.
Como faço para modificar o texto Sql
dentro de uma query?
exemplo:
sql.add('select * from tabela')
sql.add('where campo = '+variavel);

grato

josé ferreira

Junior Andrade

unread,
Jun 20, 2012, 10:39:31 PM6/20/12
to delphi...@googlegroups.com
Como assim mudar? Voce fala uma condicional? Se for uma coisa faça isso... Se for outra dação aquilo... ?

Enviado via iPad
> --
> Você recebeu esta mensagem do Grupo "Delphi + PHP".
>
> Para postar, envie um e-mail para delphi...@googlegroups.com
>
> Para cancelar a sua inscrição, envie um e-mail para delphimaisph...@googlegroups.com
>
> Visite este grupo em http://groups.google.com.br/group/delphimaisphp?hl=pt-BR

Douglas Tybel

unread,
Jun 21, 2012, 10:57:59 AM6/21/12
to delphi...@googlegroups.com
Segue um metodo de uma classe minha, talvez possa te ajudar:

   function getConsultarHistoricoFases()
   {
      //realiza consulta
      global $DMPrincipal;
      $DMPrincipal->qryFases->SQL->Clear;
      $params = array();
      $params["num_os"] = $this->num_os;
      $DMPrincipal->qryFases->Params = $params;

      $DMPrincipal->qryFases->SQL = "
      select  osf.dat_interacao,fa.fase, f.funcionario,   osf.historico
      from os_fases osf
      inner join fases fa
      on osf.cod_fase = fa.cod_fase
      inner join funcionarios f
      on osf.cod_operador = f.cod_funcionario
      inner join os
      on osf.cod_os = os.cod_os
      where os.num_os = ?
       ";

      $DMPrincipal->qryFases->Close();
      $DMPrincipal->qryFases->Open();

Douglas Tybel

unread,
Jun 21, 2012, 11:05:58 AM6/21/12
to delphi...@googlegroups.com
Classe Parcelas Utilizando filter:

class Parcelas{

    //declaracao de variaveis publicas e privadas
    public $nosso_numero;
    public $cod_cliente;
    public $cod_filial;
    public $ano_ref;
    public $situacao;

function getConsultar(){
        //realiza consulta
        global $DMPrincipal;
        $DMPrincipal->qryParcelas->SQL->Clear;
        $DMPrincipal->qryParcelas->Close();
        //$params = array();
       //$params["cod_cliente"] = $this->cod_cliente;
       //$params["ano_ref"]         = $this->ano_ref;
       //$params["situacao"]    = 'Cancelada';

       $DMPrincipal->qryParcelas->Filter = "";

       $situacao = "'Cancelada'";
       $DMPrincipal->qryParcelas->Filter =  "  p.situacao <> $situacao ";
       $natureza = "'a Receber'";
       $DMPrincipal->qryParcelas->Filter .=  "  and p.natureza = $natureza ";

       if (isset($this->cod_cliente)){
         $DMPrincipal->qryParcelas->Filter .= " and p.cod_cliente = $this->cod_cliente ";
       }

       if (isset($this->ano_ref)){
         $DMPrincipal->qryParcelas->Filter .= " and extract(year FROM p.dat_venc) = $this->ano_ref  ";
       }

       if (isset($this->nosso_numero)){
         $DMPrincipal->qryParcelas->Filter = " p.nosso_numero = '$this->nosso_numero' ";

       }

       if (isset($this->cod_parcela)){
         $params["cod_parcela"] = $this->cod_parcela;
         $DMPrincipal->qryParcelas->Filter = " p.cod_parcela = $this->cod_parcela ";
       }

       //$DMPrincipal->qryParcelas->Params=$params;
       //$DMPrincipal->qryParcelas->Prepare();

       //$DMPrincipal->qryParcelas->Filter = "and v.cod_veiculo = ".$this->cod_veiculo->cod_veiculo;
       $DMPrincipal->qryParcelas->SQL = "select
p.nosso_numero
,p.parcela
, (CAST(PARCELA AS VARCHAR(4)) ||  '/'|| (
                   select count(*)
                   from parcelas
                   where parcelas.cod_carne = p.cod_carne
                   and parcelas.cod_cliente = p.cod_cliente
                   ) ) AS plano
,(substring(cast(p.dat_venc as varchar(10)) from 9 for 2) || '/' ||
substring(cast(p.dat_venc as varchar(10)) from 6 for 2) || '/' ||
substring(cast(p.dat_venc as varchar(10)) from 1 for 4) ) as dat_venc_formatada

,(substring(cast(p.dat_pag as varchar(10)) from 9 for 2) || '/' ||
substring(cast(p.dat_pag as varchar(10)) from 6 for 2) || '/' ||
substring(cast(p.dat_pag as varchar(10)) from 1 for 4) ) as dat_pag_formatada
,cast(p.valor_doc as numeric(15,2)) as valor_doc
,cast(p.desconto as numeric(15,2)) as desconto
,cast(p.juros as numeric(15,2)) as juros
,cast(p.multa as numeric(15,2)) as multa
,cast(p.valor_pago as numeric(15,2)) as valor_pago
,cast(p.diferenca as numeric(15,2)) as diferenca
,p.dat_proc
,p.dat_venc
,p.dat_pag
,p.valor_doc
,p.cod_parcela
,p.parcela
,p.agenc_banco
,p.num_conta_banco
,p.digito_conta_banco
,p.cod_empresa
,c.cod_cliente
,p.cod_doc_origem
,p.tipo_doc_origem
,p.carteira
,p.cod_carne
,p.cod_cedente
,p.informativo_cliente_linha1
,p.informativo_cliente_linha2
,p.informativo_cliente_linha3
,p.informativo_caixa_linha1
,p.informativo_caixa_linha2
,p.informativo_caixa_linha3
,p.DAT_VENC_ORIGINAL
,p.cod_empresa

from parcelas p
inner join clientes c
on p.cod_cliente = c.cod_cliente

       ";



       $DMPrincipal->qryParcelas->Open();


    }

}
?>


Em quarta-feira, 20 de junho de 2012 23h29min40s UTC-3, José Ferreira escreveu:
Reply all
Reply to author
Forward
0 new messages