EDGPER
  5.5 Actualización en DBTG.
 

Creación de nuevos registros.


   La orden para crear un nuevo registro es:

         Store <tipo de registro>

Esta técnica nos permite crear y añadir solamente un registro a la vez.  

Para ejemplificar consideremos el caso siguiente: 

    Deseamos registrar a un nuevo alumno de nombre "Delia J. Siordia", la instrucción para esto es: 

    Alumno.NombreA:="Delia J. Siordia";
    Alumno.control:="94310128";
    Alumno.Esp:="LAE";
    Store
Alumno;

Modificación de un registro existente. 

    Para realizar la modificación a los registro primero se debe encontrar ese registro en la base de datos, pasarlo a la memoria principal y efectuar las modificaciones deseadas, posteriormente actualizamos el puntero de actualidad hacia el registro a modificar y ejecutamos la orden Modify.

   Modify <tipo de registro>

 Para que el sistema se entere que se va a realizar una modificación se emplea la orden for update.

     Ejemplo: Deseamos cambiar la Especialidad del alumno de nombre Delia J. Siordia, por LI.

   Alumno.NombreA:="Delia J. Siordia";
   find for update any Alumno using nombreA;
   get Alumno.Esp :="LI";
   modify Alumno;

     Las líneas de código antes descritas, primero requieren del dato por el cual se realizará la búsqueda del registro, la orden find for update any establecen el tipo de registro que se usara, using indica el campo por el cual debe buscar la coincidencia para la modificación, get se antepone la línea de modificaciones que se realizaran sobre el registro y finalmente ya que el registro fue modificado se ejecuta la instrucción modify para activar las actualizaciones ejecutadas.

 Eliminación de registros.

     Para efectuar la eliminación de los registros es necesario tener el puntero de actualidad apuntando al registro que deseamos borrar, después se ejecuta al orden:

   erase <tipo de registro>

Esta instrucción al igual que la orden modify, requiere de la declaración de las instrucciones for update en la orden find.

 Ejemplo:Consideremos que deseamos eliminar el alumno cuyo número de control es 94310166 que pertenece al alumno Luis A.

   Fin:=false;
   Alumno.NombreA:="Luis A.";
    find any Alumno using NombreA;
    while DB-Status=0 and not fin do
    begin
        get
Alumno;
        if Alumno.control=94310166 then
        begin
            erase
Alumno;
          fin:=true;
        end
        else
            find for update next
alumno with Alren1(*Registro reenlace*)
    end;

    Es posible eliminar toda una secuencia de conjunto encontrando al dueño del mismo, para ello se ejecuta la orden:

    erase all <tipo de registro>

    Esto borrara al dueño del conjunto y a todos sus miembros, si un miembro de un conjunto dueño de otro conjunto, también se eliminaran los miembros de ese conjunto, esta operación es recursiva.

 Ejemplo: Consideremos que deseamos borrar al Alumno de nombre Luis A. y todas sus registros de materias, entonces:

   Alumno.NombreA :="Luis A.";
    find for update any Alumno using NombreA;
    erase all Alumno;

 
  Hoy habia 9 visitantes (11 clics a subpáginas) ¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis