Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
  #2  
Antiguo 18-12-2013
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Sql

Gracias ecfisa por tus respuestas y una disculpa por no haber contestado antes tus post.

Me queda claro con tus ejemplos lo que esta pasando. Entonces quiere decir que si a tu primer query (el cual lo reescribo nuevamente), le agrego el campo de PRECIO....que pasaria?

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


AHORA SI HABRÁ PROBLEMA!?...QUE OTRA SOLUCION PUDIERA EXISTIR....un componente IBQuery por cada campo?....ups....
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 18-12-2013 a las 05:57:25.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
trigger a nivel de campo carlomagno Firebird e Interbase 19 23-06-2011 17:39:49
¿En que nivel estoy? - ¿En que nivel estas? movorack Varios 46 20-06-2008 21:19:26
jedi cvs: manejar versiones a nivel módulo y a nivel proyecto pvizcay Varios 3 17-04-2007 16:17:59
grant / revoke en oracle a nivel columna avmm2004 Oracle 5 14-10-2006 17:55:33
Validación a nivel de campo Luis Conexión con bases de datos 3 25-07-2004 13:48:53


La franja horaria es GMT +2. Ahora son las 18:24:38.


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