Ver Mensaje Individual
  #1  
Antiguo 13-07-2013
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Reputación: 21
jplj Va por buen camino
ADOConnection solo lectura

Hola:

Estoy tratando que los datos de una aplicación -almacenados en una DB MSAccess- sólo sean accesibles en modo lectura en función del usuario que acceda.
Todos los procesos sobre las diversas tablas de la base de datos se realizan con componentes ADO, que emplean la misma conexión.
En principo he asignado a Mi_ADOConnection.Mode el valor Read, pero al realizar el primer acceso a una tabla cambia a ShareDenyNone.

Código Delphi [-]
procedure TList_tbl_users.Load(sql: string; Conexion: TADOConnection);
var
  Q: TADOQuery;
  W: Ttbl_users;
begin
  Q:= TADOQuery.Create(nil);
  try
    Q.SQL.Text:= Sql;
    Q.Connection:= Conexion;  ==>  [Al consultar el valor de Conexion.Mode devuelve Read]
    Q.Open;
    Q.First;   ==>  [Al consultar el valor de Conexion.Mode devuelve ShareDenyNone]
    while not Q.Eof do
    begin
      W:= Ttbl_users.Crear(Conexion);
      W.Load(Q.Fields[0].AsInteger);
      Self.Add(W);
      Q.Next;
    end;
  finally
    Q.Free;
  end;
end;

Es el método Open quien lo modifica.

¿Dónde está el error?


Uso:
.- Delphi 7
.- Microsoft.Jet.OLEDB.4.0
.- MSAcces 97

Muchas gracias de antemano.
Un Saludo
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita