Fórum duvida #2967
19/02/2009
0
begin
Close; CommandText:='SELECT * from nota where DATAEMISSAO BETWEEN :datahora_ini AND :datahora_fim and(';
CommandText:='(modelo = ''01'') OR';
CommandText:='(modelo = ''1A'') OR';
CommandText:='(modelo = ''03'') OR';
CommandText:='(modelo = ''06'') OR';
CommandText:='(modelo = ''55'') OR';
CommandText:='(modelo = ''22''))';
CommandText:='order BY dataemissao';
params.ParamByName('datahora_ini').asdatetime:= datahora_inicial;
params.parambyname('datahora_fim').asdatetime:= datahora_final; Open;
end; ele me retorna que o parameter not found sendo que eu faço isso usando o ibquery e funciona normalmente o que pode ser?
Paulo Silva
Curtir tópico
+ 0Posts
19/02/2009
Paulo Silva
Gostei + 0
19/02/2009
Wesley Yamazack
Var Vsql : String; //criada, pois a propriedade Commandtext, do clientdataset ela é o tipo String, então o que você estava fazendo, toda hora ele iria substituir a string do CommandText.
BeginvSql :=' SELECT * from nota
' where DATAEMISSAO BETWEEN :datahora_ini AND :datahora_fim and('; '+
' (modelo = ''01'') OR '+
' (modelo = ''1A'') OR '+
' (modelo = ''03'') OR '+
' (modelo = ''06'') OR '+
' (modelo = ''55'') OR '+
' (modelo = ''22'')) '+
' order BY dataemissao ';
with deasy.cdsnota do //processa o registro compelementares do sintegra
begin FetchParams; //Função para poder pegar o os parametros.
Close;
CommandText:= vSql;
params.ParamByName('datahora_ini').asdatetime:= datahora_inicial;
params.parambyname('datahora_fim').asdatetime:= datahora_final; Open;
end;Att,Wesley Y
Gostei + 0
19/02/2009
Paulo Silva
var sql:string;
var
TempStr, num_nf: string; begin
Result := True; with deasy.cdsnota do //processa o registro compelementares do sintegra
begin
Close;
FetchParams;
sql:='SELECT * from nota where (DATAEMISSAO BETWEEN :datahora_ini AND :datahora_fim) and('+
'(modelo = ''01'') OR'+
'(modelo = ''1A'') OR'+
'(modelo = ''03'') OR'+
'(modelo = ''06'') OR'+
'(modelo = ''55'') OR'+
'(modelo = ''22''))'+
'order BY dataemissao';
CommandText:=sql;
Params.ParamByName('datahora_ini').asdatetime:=DataHora_Inicial;
params.ParamByName('datahora_fim').asdatetime:=DataHora_Final;
Open;
end; no value for parameter datahora_ini fika dando isso omg em que problema kra O.o no ibquery funcionava perfeitamente DataHora_Inicial := startofthemonth(Datetimepicker1.DateTime);
DataHora_Final := EndOfTheMonth(Datetimepicker1.DateTime);
Gostei + 0
20/02/2009
Wesley Yamazack
Bota o teu SQL, na query. feito isso, vai na propriedade Params da query, la vão ser listados todos os parametros configura o tipo, de cada pametro, e diz que paramtype é "ptInput".
Feito isso, no seu clientdataset, botão direito e va em FetchParams, depois rode o teu sistema com
with deasy.cdsnota do //processa o registro compelementares do sintegra
begin
Close;
Params.ParamByName('datahora_ini').asdatetime:=DataHora_Inicial;
params.ParamByName('datahora_fim').asdatetime:=DataHora_Final;
Open;
end;
e pronto, assim irá funcionar.
Att,
Wesley Y
Gostei + 0
22/02/2009
Wesley Yamazack
att,
Wesley Y
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)