Hola todos, les hago llegar mi inquietud en espera de que alguien me de una luz (que no he encuentrado en dos o tres dias de prueba y error).
Tengo este codigo.
Código Delphi
[-]
IBClientDataSet1.Close;
IBClientDataSet1.CommandText:= 'SELECT * FROM PRC_INVENTARIO_GETCATEGORIAS (:INI, :FIN)';
IBClientDataSet1.Params.ParamByName('INI').Value := Ini.DateTime;
IBClientDataSet1.Params.ParamByName('fIN').Value := fIn.DateTime;
IBClientDataSet1.Open;
pero me da una excepcion y me dice que no reconoce el parametro "INI".
Le hice un paso a paso y evalue la propiedad IBClientDataSet1.Params.count y encontre que tenia el valor 0 (cero).
cambie el codigo por este:
Código Delphi
[-]
IBClientDataSet1.Close;
IBClientDataSet1.CommandText:= 'SELECT * FROM PRC_INVENTARIO_GETCATEGORIAS (:INI, :FIN)';
IBClientDataSet1.Open;IBClientDataSet1.close;IBClientDataSet1.Params.ParamByName('INI').Value := Ini.DateTime;
IBClientDataSet1.Params.ParamByName('fIN').Value := fIn.DateTime;
IBClientDataSet1.Open;
Ahora si me reconoce los parametros, pero... Abrir dos veces el ClientDataset?
La pregunta: No tiene el IBClientDataSet una funcion, procedimiento o propiedad para que reconozca los parametros definidos en la consulta sin tener que hacer la grosería que estoy haciendo?
Gracias a todos,