Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-02-2004
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
Invalid use of keyword. Token 'any'

Me da este error al hacer un select con un where con un campo llamado any.
Invalid use of keyword. Token 'any'

Consulta que da error
select * from stock where any = 2001

Lo que entiendo es que es una palabra reservada.Bueno hasta aqui bien.¿Pero que puedo hacer ahora?

Tengo que entrar unos datos de sql a dbf, y no puedo cambiar el nombre de los campos, por que estas tablas son usados por programas ya hechos desde hace tiempo.Este campo es de una tabla dbf.Cuando cambio el nombre del campo a otro nombre todo correcto.Pero no al ponerle any, y hacer un where en una consulta select relacionada con este campo me da este error.

1.¿Que solucion tengo?
2.¿Hay alguna manera de cambiarle el nombre directamente al campo?Es decir, ¿modificar el nombre del campo de la tabla?.Porque , o que haria, seria modificar el nombre a otro nombre lo primero, luego hacer todas las consultas y todo, y luego volver a poner su nombre de origen.

Gracias
Un saludo
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #2  
Antiguo 02-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Prueba a poner el nombre del campo entrecomillado (mira tanto dobles como simples) a ver si te vale
Responder Con Cita
  #3  
Antiguo 02-02-2004
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
No me funciona me da o el mismo error o type mismatch in expression

Tu te refieres a:

select * from stock where "any" = 2001 o
select * from stock where 'any' = 2001 o
select * from stock where ''any'' = 2001

no?

Lo he probado y me da error de una o de la otra manera

Gracias

¿Lo que dije de cambiar el nombre del campo dentro de la tabla fisicamente, y luego ponerle otra vez el que ya tenia, es posible(por código claro)?

Saludos
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #4  
Antiguo 02-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Una posible solución sería declarar un alias a la tabla para ver si funciona:
select STK.* from stock STK where STK."any" = 2001
Desde Firebird también sería posible crear una vista referenciando al nombre original de la tabla con otro, claro eso es si utilizás FB pero creo que no es tu caso.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #5  
Antiguo 02-02-2004
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
Funciona Gybda

Muchas gracias a todos y a ti especialmente

Saludos
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #6  
Antiguo 27-09-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
hola q tal , bueno podrias decir como lo solucionaste, yo tetngo el mismo problema, con un campo, invalid use of keyword token edad= lo puse entre comillas doble y me dice type mismatch in.... con los otros campos no ahi drama, las tablas estan en paradoxx grax

bien esta es la sentecia

query1.sql.text:='select ALUC. count(cod_alucurso) as cant from alucurso ALUC where ALUC."plan"='+inttostr(x);

y me da error en invalid use of keyword token.. count(cod_alucurso) sin esa parte me da bien

pues bien lo solucione sacando ALUC. antes del count gracias

Última edición por gonza_619 fecha: 27-09-2010 a las 05:42:07.
Responder Con Cita
  #7  
Antiguo 27-09-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Tu error está en que estás usando mal el count, la forma correcta sería:

Código SQL [-]
select count(ALUC.cod_alucurso) as cant from alucurso ALUC where ALUC.plan = xxxx


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
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 20:47:07.


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