Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2004
trabuc trabuc is offline
Miembro
 
Registrado: ago 2004
Posts: 24
Poder: 0
trabuc Va por buen camino
Invalid use of keyword

Alguien me podria decir que significa este error
Invalid use of keyword.
Token:And
Line number:12.

Gracias
Responder Con Cita
  #2  
Antiguo 04-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Si pusieses el código en el que te salta el error te podriamos decir algo.

En principio parece que has escrito una query y en las condiciones del where tienes algo mal escrito cerca de un AND.
__________________
Saludos,
Peter Investment
Responder Con Cita
  #3  
Antiguo 04-10-2004
trabuc trabuc is offline
Miembro
 
Registrado: ago 2004
Posts: 24
Poder: 0
trabuc Va por buen camino
El codigo es estte

Código Delphi [-]
 case GB.ItemIndex of
   1: begin
       Foct3.Checked:=True;
 FoCt.checked:=false;
 F142.Checked:=False;
       FTabla.Query1.SQL.Strings[12]:=Calcular.Ster;
       end;
   0: begin
       FOct.Checked:=True;
 FOct3.Checked:=false;
 F142.Checked:=False;
       FTabla.Query1.SQL.Strings[12]:=Calcular.Soct;
       end;
Y si que estoy trabajando en un query, pero es que en el codigo sql no veo ningun error, gracias de todos modos

Última edición por marcoszorrilla fecha: 04-10-2004 a las 15:39:43.
Responder Con Cita
  #4  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
He editado tu mensaje para que pueda leerse correctamente, debieras de utilizar las etiquetas [ delphi][ /delphi] sin los espacios en blanco, para presentar el código correctamente.

De todos modos el error que te da es de SQL, debieras mostrarnos el SQl que pasas o tu mismo antes de ejecutar la consulta visualizarlo con simple ShowMessage y así verías que la claúsula And según parece no está correctamente aplicada.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 04-10-2004
trabuc trabuc is offline
Miembro
 
Registrado: ago 2004
Posts: 24
Poder: 0
trabuc Va por buen camino
lo de las etiquetas no lo he entendido, pero aqui esta el sql


SELECT
F
,LPS ,LPF
,Perdidas

FROM "C:\Archivos de programa\Archivos comunes\EPSG Shared\Data\Mo·Res.db"
where
(F >= 50)
AND
(F <= 5000)
AND
(F <= 20000)
Responder Con Cita
  #6  
Antiguo 04-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Cita:
Empezado por trabuc
"C:\Archivos de programa\Archivos comunes\EPSG Shared\Data\Mo·Res.db"
En principio lo único que esta mal en esa query es el punto detras de MO

Prueba:

Código:
"C:\Archivos de programa\Archivos comunes\EPSG Shared\Data\Mo.Res.db"
__________________
Saludos,
Peter Investment
Responder Con Cita
  #7  
Antiguo 04-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Respecto a las etiquetas, te convendría leer lo siguiente:

Lee esto
__________________
Saludos,
Peter Investment
Responder Con Cita
  #8  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Bueno tengo que salir, no me da tiempo más que a decirte que el último And sobra puesto que si es <= 5000 el 20000 ya no tendrá ningún efecto.

En cuanto al SQL en sí no le veo ningún error, a no ser el nombre del fichero que creo no es correcto, prueba a cambiarlo de nombre.

Gracias Investment.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 04-10-2004
trabuc trabuc is offline
Miembro
 
Registrado: ago 2004
Posts: 24
Poder: 0
trabuc Va por buen camino
el punto esta bien, porque es el nombre de la base de datos, si lo cambio no la encuentra
Responder Con Cita
  #10  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Débutons par le début fiston.

Bueno pues eso comencemos por el principio, que tipo de tablas y con qué componentes te estas conectando?

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #11  
Antiguo 04-10-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Cita:
Empezado por trabuc
where
(F >= 50)
AND
(F <= 5000)
AND
(F <= 20000)
Me parece que deberías sacarles los paréntesis.
Saludos
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
Responder Con Cita
  #12  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Los paréntesis puede quitarlos porque son innecesarios, pero el error no es por los paréntesis.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #13  
Antiguo 04-10-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Cita:
Empezado por marcoszorrilla
pero el error no es por los paréntesis.

Un Saludo.
Entonces esos números (50) que tiene no deberían ir entre comillas simples '50'
Saludos
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.

Última edición por Pablo Carlos fecha: 04-10-2004 a las 18:49:25.
Responder Con Cita
  #14  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Tienes toda la razón.

o QuotedStr(MiEdit1.Text) si es que están en un edit.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #15  
Antiguo 04-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Por qué han de ir entre comillas? Si el tipo de datos es entero esto no es necesario.

// Saludos
Responder Con Cita
  #16  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Román tienes razón si se plantea asi:
Código Delphi [-]
   procedure TForm1.Button1Click(Sender: TObject);
   begin
   Q.close;
   q.Sql.Clear;
   q.sql.Add('Select * from d:\Pruebas\prueba.db');
   q.sql.Add('Where total > 0');
   q.open;
   end;
   
   //yo me refiero a este segundo caso
   
   procedure TForm1.Button1Click(Sender: TObject);
   begin
   Q.close;
   q.Sql.Clear;
   q.sql.Add('Select * from d:\Pruebas\prueba.db');
   q.sql.Add('Where total > '+'0');
   q.open;
   end;

Entiendo que el segundo caso es un número tomado al vuelo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #17  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si estás trabajando con Paradox entonces te refieres a que MO es el alias no la base de datos:

"C:\Archivos de programa\Archivos comunes\EPSG Shared\Data\Mo.Res.db"

Entonces lo correcto sería algo como:

Select * from '':Mo:Res.Db''

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #18  
Antiguo 04-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Je, je Marcos, creo que andamos todos dando palos de ciego. Si te fijas, el nombre que él cita es

Mo·Res.db

y no

Mo.Res.db

¡El punto después de Mo no es un punto como cualquier punto!

Yo mismo tuve mis dudas en cuanto a si paradox aceptaba un nombre así pero comprobé que sí lo acepta.

// Saludos
Responder Con Cita
  #19  
Antiguo 04-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Hola Román:
Pues si has comprobado que funciona ese punto, ya me puedo ir a la cama tranquilo, porque acabo de aprender una cosa más.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #20  
Antiguo 04-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues sí te puedes ir tranquilo, pero ¡no a la cama! Calculo que en España serán apenas pasadas de las ocho.

// Saludos
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


La franja horaria es GMT +2. Ahora son las 00:51:16.


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