Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema con indices en Access (https://www.clubdelphi.com/foros/showthread.php?t=11108)

carlosmoralesm 05-06-2004 22:29:18

Problema con indices en Access
 
Gracias a todos espero no estar dando mucha lata y estar participando correctamente en este Club.


Tengo 2 grids con la misma tabla (2 componentes table) si les pongo un indice el mismo o diferentes indices me muestra un error de "record Locked by another User " al moverme primero en uno y despues en otro grid.



como puedo quitar este error?

__marcsc 05-06-2004 23:01:23

Hola,

posiblemente los grids te permiten editar el DataSet al que están enlazados.

Lo que debe pasar es que si tienes dos grids posicionados en el mismo registro y éste está en modo de edición, te salta el error porqué el primero que ha editado el registro lo tiene bloqueado, y por lo tanto el otro se queja. Lo que no deberías permitir sería que el grid (o al menos uno de los dos) sea editable. Repasa las Options de los grids y la propiedad ReadOnly.

A ver si es eso.

Saludos!

cbrrr 06-06-2004 01:38:11

Me imagino que usas BDE (por el hilo anterior).

Este error salta al intentar modificar en los dos TDBGrids el mismo registro. Puedes mirar de controlar este error en el evento OnEditError del Dataset. Algo así:

Código Delphi [-]
  procedure TForm1.Table1EditError(DataSet: TDataSet; E: EDatabaseError;
    var Action: TDataAction);
  begin
    if E is EDBEngineError then
      case EDBEngineError(E).Errors[0].ErrorCode of
        DBIERR_ALREADYLOCKED:
        begin
          ShowMessage('lili');
          Action := daAbort;
        end;
      end;
  end;

Espero te sea de utilidad

PD: por cierto, como ponen el código con formato delphi? no encuentro el botón para hacerlo

__marcsc 06-06-2004 01:41:04

Puedes usar las etiquetas "delphi" y "SQL" ;)

cbrrr 06-06-2004 01:48:29

muchas gracias

carlosmoralesm 07-06-2004 22:56:44

gracias por los tips pero ya cambie de BDE a ADO y con esto resolvi todos mis problemas de bases de datos

sin tener que cambiar mucho codigo


La franja horaria es GMT +2. Ahora son las 08:44:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi