Ver Mensaje Individual
  #10  
Antiguo 13-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Para demostrar con un ejemplo lo que te menciono arriba, supongamos una hipotética tabla:
Código SQL [-]
CREATE TABLE VENTAS (
    ID         INTEGER,
    PRODUCTO   VARCHAR(30),
    CANTIDAD   INTEGER,
    PRECIO     NUMERIC(18, 6),
    FECHA      DATE,
    FECHAHORA  TIMESTAMP
);
y que el excelente y nunca bién ponderado empleado "PEREZ", ha iniciado sesión con estos privilegios:
Código SQL [-]
GRANT SELECT, INSERT, UPDATE(CANTIDAD) ON VENTAS TO PEREZ;

Si ejecuta esta consulta:
Código Delphi [-]
...
begin
  with IBQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE VENTAS SET CANTIDAD = :PCANT');
    SQL.Add('WHERE ID = 1');  // una condición de ejemplo
    IBQuery1.ParamByName('PCANT').AsInteger := StrToInt(Edit1.text);
    ExecSQL;
  end;
end;
No va a tener ningun problema.

pero si intenta hacer:
Código Delphi [-]
...
begin
  with IBQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE VENTAS SET PRECIO = :PPREC');
    SQL.Add('WHERE ID = 1'); // una condición de ejemplo
    IBQuery1.ParamByName('PPREC').AsCurrency:= StrToFloat(Edit1.text);
    ExecSQL;
  end;
end;
va a obtener un bonito mensaje: "No permission for update/write access to column VENTAS.PRECIO"

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita