Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Agustín.
Cita:
'Dynamic SQL Error SQL error code= -104
token unknown -line 1, column 55
LEFT'.
Ese error te está diciendo que no existe un campo llamado "LEFT" en la tabla "MESAS".

En un principio me llamó la atención que la tabla "MESAS" que supongo almancena la cantidad de personas, el sector de ubicación, etc. de un grupo de mesas, tenga como nombres de campo a LEFT,WIDTH, HEIGHT, TOP...
Disculpame si te hago una pregunta tonta ¿ No estarás intentando darle las propiedades Left,Width,Height,Top de TControl al componente de datos TIBQuery ?

Aclararía mucho que nos dieras una brebe descripción sobre que almancenan los campos de la tabla "MESAS" (a que concepto corresponde lo que se guarda en TOP , LEFT o WIDTH por ejemplo )

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 28-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
También puede ser que confunda 'LEFT' con la palabra reservada 'LEFT JOIN'.
Responder Con Cita
  #3  
Antiguo 28-02-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Poder: 0
agustinbus Va por buen camino
Hola como estan! Les comento, esos campos los utilizo porque creo componentes en tiempo de ejecucion para hacer un mapa de las mesas y guardo el cada mesa su respectiva posicion y tamaños para poder cargarlos nuevamente en el mapa de mesas. El campo LEFT si existe en la tabla Mesas, tal vez el error este relacionado a lo que dice casimiro. Miren les dejo el codigo completo:


Código:
procedure TForm1.Action9Execute(Sender: TObject);
var
  CompName:String;
  comp : TComponent;
  ctrl : TControl;
begin
  QMesas.First;
  while not QMesas.Eof do
    begin

      CompName := QMesasCODIGO.Value;
      comp := Self.FindComponent(CompName);
      if Assigned(comp) then
        begin
          SelectOnRunTime1.SelectControl := TControl(comp);
          //SelectOnRunTime1.Selected := True;
          ctrl := SelectOnRunTime1.SelectControl;
        end;
      with QMesas do
        begin
          Close;
          SQL.Clear;
          SQL.Add('UPDATE MESAS SET WIDTH = :WID, PERSONAS = :PER, HEIGHT = :HEI, TOP = :TO ');
          SQL.Add('WHERE CODIGO = :COD');
          ParamByName('WID').Value := ctrl.Width;
          ParamByName('HEI').Value := ctrl.Height;
          ParamByName('PER').Value := ctrl.Tag;
          //ParamByName('LEF').Value := ctrl.Left;
          ParamByName('TO').Value := ctrl.Top;
          ParamByName('COD').Value := Form1.QMesasCODIGO.Value;
          ExecSQL;
          Open;
        end;
      
       QMesas.Next;
    end;

end;
Por otra parte, si saco el campo LEFT de la sentencia SQL no sale ningun error, pero no realiza la actualizacion.
Ahora probare cambiando el campo LEFT por otro en la tabla.
Saludos y muchas gracias por su tiempo!
Responder Con Cita
  #4  
Antiguo 28-02-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Poder: 0
agustinbus Va por buen camino
Miren que curioso esto, cambie los campos de la tabla mesas, y antes de hacer el commit en IBExpert me marca con color el campo LEFT y lo coloca entre comillas, seguro es una palabra reservada no?
Responder Con Cita
  #5  
Antiguo 28-02-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Poder: 0
agustinbus Va por buen camino
Unhappy

Realice los cambios en los campos de la tabla Mesas y cambie el codigo que quedo de la siguiente manera:

Código:
var
  CompName:String;
  comp : TComponent;
  ctrl : TControl;
begin
  QMesas.First;
  while not QMesas.Eof do
    begin

      CompName := QMesasCODIGO.Value;
      comp := Self.FindComponent(CompName);
      if Assigned(comp) then
        begin
          SelectOnRunTime1.SelectControl := TControl(comp);
          //SelectOnRunTime1.Selected := True;
          ctrl := SelectOnRunTime1.SelectControl;
        end;
      with QMesas do
        begin
          Close;
          SQL.Clear;
          SQL.Add('UPDATE MESAS SET ANCHO = :ANC, PERSONAS = :PER, ALTO = :ALT, ARRIBA = :ARR, IZQUIERDA = :IZQ ');
          SQL.Add('WHERE CODIGO = :COD');
          ParamByName('ANC').Value := ctrl.Width;
          ParamByName('ALT').Value := ctrl.Height;
          ParamByName('PER').Value := ctrl.Tag;
          ParamByName('IZQ').Value := ctrl.Left;
          ParamByName('ARR').Value := ctrl.Top;
          ParamByName('COD').Value := Form1.QMesasCODIGO.Value;
          ExecSQL;
          Open;
          Next;
        end;
    end;
Pero al realizar la actualizacion no se guardan los cambios. Firebird me esta dando dolores de cabeza!
Responder Con Cita
  #6  
Antiguo 28-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Agustin.

Supongamos que tu tabla está declarada así:
Código SQL [-]
CREATE TABLE MESAS (
  CODIGO     CODIGO CHAR(6),
  ANCHO      INTEGER,
  PERSONAS   INTEGER,
  ALTO       INTEGER,
  ARRIBA     INTEGER,
  IZQUIERDA  INTEGER
);

Con este código tiene que modificar correctamente:
Código Delphi [-]
...
  with IBQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE MESAS SET ANCHO = :ANC, PERSONAS = :PER, ');
    SQL.Add('ALTO = :ALT, ARRIBA = :ARR, IZQUIERDA = :IZQ ');
    SQL.Add('WHERE CODIGO = :COD');
    ParamByName('ANC').Value := 100;
    ParamByName('ALT').Value := 100;
    ParamByName('PER').Value := 100;
    ParamByName('IZQ').Value := 100;
    ParamByName('ARR').Value := 100;
    ParamByName('COD').Value := '000001';
    ExecSQL;
  end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 28-02-2012
agustinbus agustinbus is offline
Miembro
 
Registrado: ago 2007
Posts: 44
Poder: 0
agustinbus Va por buen camino
Mi amigo Ecfisa, muchas gracias!, voy a guardar tu ejemplo en mi biblioteca de codigos. Cambie de componentes y ahora utilizo zeos, porque ellos me permiten realizar los insert y Updates con los metodos .Insert y .Edit que me resultan mas familiares.

Te agradezco mucho por darle una solucion a mi problema. Casimiro muchas gracias tambien!!
Responder Con Cita
Respuesta



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
Error DataSet is read Only mightydragonlor Lazarus, FreePascal, Kylix, etc. 10 08-11-2008 21:43:16
Error 'Cannot modify a read-only dataset' karaoke Varios 8 10-12-2007 06:38:31
Al intentar modificar un campo me dice "Cannot modify a read-only dataset" raulahol SQL 1 22-01-2007 05:16:53
error cannot modify a read-only dataset Renees Varios 2 30-09-2006 00:39:27
Query1 cannot modify a read-only dataset Nbull SQL 14 14-12-2004 10:29:35


La franja horaria es GMT +2. Ahora son las 09:10:31.


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
Copyright 1996-2007 Club Delphi