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 17-09-2011
Avatar de Dexter182
Dexter182 Dexter182 is offline
Miembro
 
Registrado: jul 2005
Ubicación: Argentina
Posts: 95
Poder: 19
Dexter182 Va por buen camino
Uso de LIMIT en un ADOQuery

Buenas !!!

Hace rato que no me ponía a programar (soy aficionado) y estoy intentando hacer una consulta a una base de datos Access mediante un ADOQuery.
La consulta en si funciona perfectamente, pero el problema apareció cuando intenté agregarle el uso de LIMIT.

El código fuente es el siguiente:

Código:
Modulo.Consulta.Active := FALSE;
Modulo.Consulta.SQL.Clear;
Modulo.Consulta.SQL.Add('SELECT Cod_Producto as Código, Desc_Producto as Descripción, ROUND((Precio+(Precio*(Porcentaje_Ganancia/100))+(Precio+(Precio*(Porcentaje_Ganancia/100)))*0.21),3) as Precio, Cant_Existente as Stock FROM Productos');
Modulo.Consulta.SQL.Add('WHERE Cod_Producto LIKE ' + QuotedStr('%' + Edit_Buscar.Text + '%'));
Modulo.Consulta.SQL.Add('LIMIT 0,10');
Modulo.Consulta.Active := TRUE;
El error que me aparece:
Cita:
Error de Sintaxis (falta operador) en la expresión de consulta 'Cod_Producto LIKE '%1%' LIMIT 0,1'
En algo le estoy errando pero no logro darme cuenta en que.

Saludos y gracias de antemano.
Responder Con Cita
  #2  
Antiguo 17-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
me parece que LIMIT en Access no existe
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 18-09-2011
Avatar de Dexter182
Dexter182 Dexter182 is offline
Miembro
 
Registrado: jul 2005
Ubicación: Argentina
Posts: 95
Poder: 19
Dexter182 Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
me parece que LIMIT en Access no existe
Uh... Voy a tener que ir pensando en otra solución entonces...

Saludos y gracias por responder.
Responder Con Cita
  #4  
Antiguo 18-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
Modulo.Consulta.Active := FALSE;
Modulo.Consulta.SQL.Clear;
Modulo.Consulta.SQL.Add('SELECT Top 10 Cod_Producto as Código, Desc_Producto as Descripción, ROUND((Precio+(Precio*(Porcentaje_Ganancia/100))+(Precio+(Precio*(Porcentaje_Ganancia/100)))*0.21),3) as Precio, Cant_Existente as Stock FROM Productos');
Modulo.Consulta.SQL.Add('WHERE Cod_Producto LIKE ' + QuotedStr('%' + Edit_Buscar.Text + '%'));
Modulo.Consulta.Active := TRUE;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 19-09-2011
Avatar de Dexter182
Dexter182 Dexter182 is offline
Miembro
 
Registrado: jul 2005
Ubicación: Argentina
Posts: 95
Poder: 19
Dexter182 Va por buen camino
¡¡¡ Muchísimas gracias Caral !!!

Funciona a la perfección de esa manera.
Ahora a seguir investigando el asunto que esto recién empieza.

¡¡¡ Saludos y gracias de nuevo !!!.

PD: Estuve leyendo en WebExperto las diferencias de sintaxis para hacer lo mismo entre los diferentes motores SQL.
Basándome en esa información: para trabajar con Access ¿debo usar siempre la sintaxis de SQL Server?
Responder Con Cita
  #6  
Antiguo 19-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Dexter182 Ver Mensaje
PD: Estuve leyendo en WebExperto las diferencias de sintaxis para hacer lo mismo entre los diferentes motores SQL.
Basándome en esa información: para trabajar con Access ¿debo usar siempre la sintaxis de SQL Server?

no entendi eso ultimo... a que te refieres?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 19-09-2011
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 Dexter182.

Cita:
Basándome en esa información: para trabajar con Access ¿debo usar siempre la sintaxis de SQL Server?
Aunque no utilizo ninguno, por lo que he leido, la sintáxis que usan no es muy diferente.

Encontré estos enlaces que quizá te sirvan de ayuda:

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 19-09-2011
Avatar de Dexter182
Dexter182 Dexter182 is offline
Miembro
 
Registrado: jul 2005
Ubicación: Argentina
Posts: 95
Poder: 19
Dexter182 Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
no entendi eso ultimo... a que te refieres?
Me refería a si la sintaxis del código SQL de Access y el de SQL Server era la misma.

Cita:
Empezado por ecfisa Ver Mensaje
Aunque no utilizo ninguno, por lo que he leido, la sintáxis que usan no es muy diferente.
OK. Muchas gracias.

¡¡¡ Por supuesto que sirven !!!. Hay un montón de ejemplos que me pueden servir. Muchísimas gracias.

Saludos y gracias por toda la ayuda brindada.
Responder Con Cita
  #9  
Antiguo 19-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
no, no son las mismas, por ejemplo en Acess puedes hacer PIvot pero en Sql no, lo mismo sucede cuando trabajas con fechas en access tienes que usar # y en sql usas comillas simples
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #10  
Antiguo 19-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para mi todos los tipos de sql son iguales.
La diferencia esta en como se llaman a ciertos datos, esto es particular en cada tipo de manejador.
En esencia si se conoce de sql no se tendrá mayor problema en cambiar de BD.
Access es un poco particular en ciertas cosas, por ejemplo si se hace una consulta con el generador que trae le pondrá una serie de corchetes o parentesis rectos, pero si se quitan siempre reconocerá la consulta, es algo particular, al igual que el signo de #.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 19-09-2011
Avatar de Dexter182
Dexter182 Dexter182 is offline
Miembro
 
Registrado: jul 2005
Ubicación: Argentina
Posts: 95
Poder: 19
Dexter182 Va por buen camino
OK. Muchas gracias por las aclaraciones.

Saludos y gracias de nuevo.
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
Problemas con clientdataset y limit Edgtho Conexión con bases de datos 11 02-06-2008 08:32:58
¿ Limit en TZTable de los Zeos ? against Conexión con bases de datos 2 26-09-2006 16:36:24
Problema con sintaxis LIMIT o TOP vivamotos C++ Builder 1 22-08-2006 15:35:21
Limit En Firebird,como? ELINK Firebird e Interbase 12 12-12-2005 20:42:03
Out of resource temporary limit. Urgente!! HombreSigma MS SQL Server 1 17-12-2003 00:29:01


La franja horaria es GMT +2. Ahora son las 19:49:01.


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