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 19-10-2007
aikai aikai is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
aikai Va por buen camino
Delphi no interpreta query

Holas,

no sé si estoy haciendo mal uso del foro, si es así, mis disculpas; pero vi mi otro hilo con una marca como si estuviera resuelto y, en realidad, la cuestión por la que lo abrí se solucionó con vuestra ayuda. Pero me surgió la siguiente... No consigo que la aplicación en delphi me ejecute la sentencia que os muestro (me da error ODBC... Pocos parámetros... Se esperaba 1).

He probado a cambiar paréntesis, '', etc. Toy desesperada ya La consulta funciona perfectamente desde el access y seguro que en delphi no lo hace por algun detalle de sintaxis q se me escapa. Gracias!

Código SQL [-]
SELECT Sum(IIf(IsNull(g.exrate),gp.total_inv,(gp.total_inv)/g.exrate)) AS INVERSION, 
Sum(IIf(IsNull(g.exrate),gp.total_ganado-gp.total_inv,(gp.total_ganado-gp.total_inv)/g.exrate)) 
AS BENEFICIO, (BENEFICIO/INVERSION)*100 AS MARGEN, Format(g.date'yyyy') & ", " & Format(g.date,'mm') AS meses
FROM tabla1 AS g INNER JOIN tabla2 AS gp ON g.id = gp.id
WHERE gp.id = (select prefer_valor from prefs where pref_key = 'PRIN')
GROUP BY Format(g.date,'yyyy') & ", " & Format(g.date,'mm')
ORDER BY Min(g.date);

Última edición por dec fecha: 19-10-2007 a las 13:17:12.
Responder Con Cita
  #2  
Antiguo 19-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Es probable que se trate de un error de sintáxis, y, siendo así, no basta conque pongas la consulta SQL que tratas de llevar a cabo, sino el código fuente de Delphi donde tratas de "embeberla". Así, sin más, la consulta que muestras no puede guardarse en una cadena en Delphi, puesto que contiene caracteres que "partirían" dicha cadena y la harían inválida.

Así que si te es posible muestra cómo tratas de hacer la consulta en Delphi, y el mensaje de error exacto que obtienes.

PD. Fíjate que en este foro existen las etiquetas [sql][/sql], [delphi][/delphi], entre otras, que mostrarán el código fuente correspondiente de manera que se lea mejor.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 19-10-2007
aikai aikai is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
aikai Va por buen camino
Gracias por las recomendaciones

El código sql lo tengo puesto directamente en el ADOQuery1.SQL;

Tengo los componentes ADOConnection, ADOQuery, DBGrid y Datasource debidamente relacionados, en principio.

Y en el form un botón con

Código Delphi [-]
ADOQuery1.Open;

Qué estoy haciendo mal?
Responder Con Cita
  #4  
Antiguo 19-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Intentando hacer de adivino:
Código SQL [-]
WHERE gp.id = (select prefer_valor from prefs where pref_key = 'PRIN')

¿exiten varios registros que su pref_key sea igual a 'PRIN'?
Si es así, estas usando un operador de igualdad que espera un solo registro, de ahí el fallo. Prueba usando:
Código SQL [-]
WHERE gp.id in  (select prefer_valor from prefs where pref_key = 'PRIN')

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 19-10-2007
aikai aikai is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
aikai Va por buen camino
Gracias Lepe, pero no hay duplicidad. Y además, la query va bien en access. Lo he probado aun así y nada.
Responder Con Cita
  #6  
Antiguo 19-10-2007
The_Avatar The_Avatar is offline
Miembro
 
Registrado: ene 2006
Posts: 43
Poder: 0
The_Avatar Va por buen camino
Falta una coma en el primer Format...
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
Delphi For PHP: Acceder a query desde JavaScript? maro PHP 4 01-10-2007 12:35:05
Parámetros en los Query en Delphi for PHP mlara PHP 3 13-07-2007 06:56:36
Usando Query en delphi 7 quja SQL 2 16-10-2005 07:05:37
Resultado de un query en Delphi MRang14 SQL 3 18-11-2004 00:49:57
Como ejecutar un query de Access en Delphi tayra SQL 10 14-09-2004 09:34:21


La franja horaria es GMT +2. Ahora son las 04:42:32.


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