Hola a todos, espero y poder explicar de la mejor manera mi problema:
Cuento con un TADOStored Proc ligado a un DataSource para regresar datos y mostrarlos en una forma delphi usando un boton de la siguiente manera:
Código Delphi
[-]procedure TmoduloVentasW.agregarProducto(Sender: TObject);
begin
dm.spAgregarArt.ProcedureName:='consultaArticuloVentaEx';
dm.spAgregarArt.Parameters.Refresh;
if codigoProducto.Text='' then
begin
showmessage('Es necesario agregar un código de producto');
exit;
end
else
dm.spAgregarArt.Parameters.ParamByName('@idArticulo').Value:= codigoProducto.Text;
dm.spAgregarArt.Parameters.ParamByName('@articuloV').Value:= NULL;
dm.spAgregarArt.ExecProc;
valorVA:= dm.spAgregarArt.Parameters.ParamByName('@articuloV').value;
if (valorVA = 0) then
begin
showmessage('El artículo ingresado no existe');
codigoProducto.Text:='';
exit;
end;
if (valorVA = 1) then
dm.spAgregarArt.ProcedureName:='consultaArticuloVenta';
dm.spAgregarArt.Parameters.Refresh;
dm.spAgregarArt.Parameters.ParamByName('@idArticulo').Value:= codigoProducto.Text;
dm.spAgregarArt.Open;
end;
Funciona el código al presionar el boton una vez y me pasa los datos de la consulta, que es un "select" a un grid, pero al volver a dar click al botón me muestra el siguiente mensaje: spAgregarArt Cannot perform this operation on an open data set
Y era de esperarse, ya que deje el dm.spAgregarArt.Open, pero mi duda es si puedo recorrer ese data set y volver a usarlo para agregar otro elemento a mi grid o de que manera hacerlo?, para que al dar click cuantas veces desee, se me agreguen datos al grid usando la consulta y el stored procedure
Espero y puedan ayudarme, muchas gracias!!