Fórum Pesquisa SQL usando o quotedstr() #240845
01/07/2004
0
parc_titpgit,vlrec_titpgit,vlparc_titpgit,vldesc_titpgit,vloutras_titpgit,
juros_titpgit,vlsald_titpgit,plano_titpg,cod_clien,razao_clien,
end_clien,bair_clien,munic_clien,uf_clien,tel_clien,limit_clien,
cpf_clien from titpagarit pgit, titpagar pg, cliente cli, notactb ntctb
where (vencto_titpgit between ´+QuotedStr(s_param1)+´ and ´+QuotedStr(s_param2)+´)´
and pgit.cod_titpg=pg.cod_titpg
and pg.cod_notactb=ntctb.cod_notactb and ntctb.cod_clien=cli.cod_clien
order by ntctb.cod_clien,vencto_titpgit,pgit.cod_titpg
quando passo para a query dá erro ....
´conversion error from string ´15/07/2004´´
Midas
Curtir tópico
+ 0Posts
01/07/2004
Dataclass
Olha, qual o banco que tu acessas?Porque pesquisa em campos Data podem ter particularidades ,ex : no MSAccess usa-se algo como :
qrEventos.SQL.Text := ´ SELECT * ´+ ´ FROM tabEventos ´ WHERE (Data >=#´+ varDataPesquisa +´)´;
Já no Oracle é comum utilizar a função to_date etc...
Estamos a disposição!
Gostei + 0
01/07/2004
Dataclass
qrEventos.SQL.Text := ´ SELECT * ´+ ´ FROM tabEventos ´+ ´ WHERE (Data >=#´+ varDataPesquisa +´)´;
Gostei + 0
01/07/2004
Emerson Nascimento
select pgit.cod_titpg,cod_titpgit,vencto_titpgit,pagto_titpgit,
          parc_titpgit,vlrec_titpgit,vlparc_titpgit,vldesc_titpgit,
          vloutras_titpgit, juros_titpgit,vlsald_titpgit,plano_titpg,
          cod_clien,razao_clien,end_clien,bair_clien,munic_clien,
          uf_clien,tel_clien,limit_clien,cpf_clien
from titpagarit pgit, titpagar pg, cliente cli, notactb ntctb
where (vencto_titpgit between :DataInicial and :DataFinal)
    and (pgit.cod_titpg=pg.cod_titpg)
    and (pg.cod_notactb=ntctb.cod_notactb and ntctb.cod_clien=cli.cod_clien)
order by ntctb.cod_clien,vencto_titpgit,pgit.cod_titpg
daí vc faz:
query.close;
query.parambyname(´datainicial´).asdate := data_inicial; // pode ser asdatetime
query.parambyname(´datafinal´).asdate := data_final; // pode ser asdatetime
query.open;
Gostei + 0
02/07/2004
Midas
Gostei + 0
02/07/2004
Casetek
É muito mais fácil usar ap() do que QuotedStr()
function Ap(nome: String): String;
begin
Result:= QuotedStr(trim(nome));// apostofros e caracteres especiais
end;
Esta inverte o dia pelo mes e ja adiciona os #
function DataAm(data: TDateTime): String;
var Aux: String;
begin // supondo que o ano tenha 4 digitos dd/mm/aaaa
aux:= DateToStr(data);
result:= ´´+ copy(Aux,4,2) + ´/´ + copy(Aux,1,2) + ´/´ + copy(Aux,7,4) + ´´;
end;
Select * from clientes where clinome = ap(Edit1.text) and clinasc = dataAm( dataPesquisa)
Por via das duvidas nas minhas aplicacoes sempre coloco no create do form principal:
DecimalSeparator:= ´,´;
ShortDateFormat:= ´dd/mm/yyyy´;
CurrencyDecimals:= 2;
NegCurrFormat:= 1;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)