Cita:
Empezado por Ñuño Martínez
Comprueba que la propiedad Active del DataSet sea TRUE. Ten en cuenta que algunas operaciones pueden cerrarlo así que revisa lo que haces y, en última instancia, usa el método Open.
|
El Dataset esta activo, intente con el metodo open luego del rutina pero genera el siguiete error:
Cannont Open / define command use Execute / ExcSql
Código Delphi
[-]procedure Guardar;
var
BD_Codigo:String;
begin
with Modulo.DMBox.FDQCategoria do
begin
Close;
SQL.Text:='select * from inv_gpo_prod where "codigo"=:c';
ParamByName('c').AsString:=MCategoria.E_Codigo.Text;
Open;
BD_Codigo:=FieldByName('codigo').AsString;
if IsEmpty then
begin
Close;
SQL.Clear;
SQL.Add('insert into inv_gpo_prod ("codigo","descripcion","clasificacion","lote","observacion","status")');
SQL.Add('values (:c,:d,:clasif,:l,:ob,:s)');
Param_Guardar; ExecSQL; DMBox.FDConexion.Commit;
end
else
begin
Close;
SQL.Clear;
SQL.Add('update inv_gpo_prod set "codigo"=:c,"descripcion"=:d,"clasificacion"=:clasif,"lote"=:l,"observacion"=:ob,"status"=:s');
SQL.Add('where "codigo"=:c');
Param_Guardar; ExecSQL; DMBox.FDConexion.Commit;
end;
end;
end;