Curso de C++ Builder


Acceso a bases de datos

Cursores



Cursores

Ejercicios
  • Navegar por un conjunto de datos utilizando First, Prior, Next, Last, MoveBy, BOF, EOF, IsEmpty y RecordCount.
  • Comprobar el efecto de DisableControls y EnableControls.
  • Marcadores (TBookmarkStr)

    TBookmarkStr BM = Table->Bookmark;
    
    try {
      // Mover la fila activa
    } __finally {
      // Regresar a la posición inicial
      Table->Bookmark = BM;
    }
    

    Iteradores

    Clase auxiliar para el recorrido secuencial de un conjunto de datos
    class TDataSetIterator
    {
     
     private:
     
      TBookmarkStr BM;
      TDataSet* dataset;
     
     public:
    
      TDataSetIterator(TDataSet* ds) : dataset(ds)
      {
        Screen->Cursor = crHourGlass;
        ds->DisableControls();
        BM = ds->Bookmark;
        ds->First();
      }
    
      ~TDataSetIterator()
      {
        dataset->Bookmark = BM;
        dataset->EnableControls();
        Screen->Cursor = crDefault;
      }
    };
    
    ...
    
    TDataSetIterator dsi(Table);
    
    while (! Table->Eof) {
          // Hacer algo con la fila activa...
          Table->Next();
    }
    


    Índice de la sección