Ver Mensaje Individual
  #1  
Antiguo 21-07-2012
disturbednoise disturbednoise is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 7
Reputación: 0
disturbednoise Va por buen camino
Unhappy Agregar datos en grid llenado con dataset

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

                  //Aqui refresco y cambio los valores para asignar otro nombre de procedimiento almacenado al mismo TADOStored Proc
                     
                  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!!

Última edición por Casimiro Noteví fecha: 21-07-2012 a las 00:40:51.
Responder Con Cita