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 24-10-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
problema con where

hola.. tengo una tabla y de ella quiero hacer una consulta en la que me muestre en dbgrid solamete los campos que se llamen correa... pero no puedo encontrar la manera de hacerlo...

lo que hago es:

Código:
 AdOQuery1.Active:= FALSE;
 ADOQuery1.SQL.Clear;
 ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g art FROM artic WHERE art:=correa ');;
 ADOQuery1.Active:= TRUE;

sin el where me anda al pelo.. mostrandome todos los campos, pero no es lo que quiero..

saludos
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #2  
Antiguo 24-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Prueba con esto:

Código SQL [-]
SELECT (producto) as art, (codigo) as C, (grupo) as g art FROM artic WHERE art = 'correa'

Esto en Delphi sería:

Código Delphi [-]
ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g art FROM artic WHERE art = ''correa''');


Saludos...
Responder Con Cita
  #3  
Antiguo 24-10-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
igo con error

hice lo que me dijiste y me da delphi el sig error: el parametro art no tiene un valor predeterminado
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #4  
Antiguo 24-10-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola, la respuesta de maeyanes es completamente válida.

Pero siguiendo lo que tú hacias, al poner los dos puntos delante del nombre del campo, le estas indicando al SQL que ese valor se lo vas a pasar por parámetro. Con lo cual ese dato se lo debes pasar usando un parambyname

Código Delphi [-]
ADoquery1.SQL.Parambyname('correa').asstring := ''; //aqui pones el valor que quieras, en tu caso "correa"

Espero te sirva.

Saludos
Responder Con Cita
  #5  
Antiguo 25-10-2006
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Cita:
Empezado por emenchi34
hice lo que me dijiste y me da delphi el sig error: el parametro art no tiene un valor predeterminado
Perdon pero el Error esta en la instruccion SQL

Código SQL [-]
SELECT (producto) as art, (codigo) as C, (grupo) as g art FROM artic WHERE art = 'correa'

Lo que esta en rojo es el Error
Estan dejando un ART suelto sin nada que hacer..

Y te aconsejo que utilises los Parameters ya que con eso te aseguras que ningun caracter ' te corte la instruccion SQL

Código Delphi [-]

 AdOQuery1.Active:= FALSE;
 ADOQuery1.SQL.Clear;
 ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g FROM artic WHERE art=:MyParam ');
 AdoQuery1.Parambyname('MyPAram').asstring:='correa'
 adoQuery1.Paramcheck:=true; // deberia ser True pero por las dudas........
 ADOQuery1.Active:= TRUE;

Y me Queda la duda. Si tenes Que usar ART o Producto en el Where. pero eso podes probarlo vos .


Saludos

Última edición por Enan0 fecha: 25-10-2006 a las 01:01:28.
Responder Con Cita
  #6  
Antiguo 25-10-2006
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 96
Poder: 20
CrazySoft Va por buen camino
Hola, me pareces que art no esta defino, prueba de esta manera
Código Delphi [-]
 
AdOQuery1.Active:= FALSE; 

ADOQuery1.SQL.Clear; 

ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g FROM artic WHERE producto =:MyParam '); 

AdoQuery1.Parambyname('MyPAram').asstring:='correa' ADOQuery1.Active:= TRUE;

Última edición por CrazySoft fecha: 08-04-2007 a las 17:30:33.
Responder Con Cita
  #7  
Antiguo 25-10-2006
Avatar de DTAR
DTAR DTAR is offline
Miembro
 
Registrado: nov 2005
Posts: 53
Poder: 19
DTAR Va por buen camino
asi anda....

ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g art FROM artic WHERE art = "correa"')
__________________
|DTAR|
Responder Con Cita
  #8  
Antiguo 25-10-2006
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Cita:
Empezado por DTAR
ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g art FROM artic WHERE art = "correa"')
Creo Q deberia ser
"Grupo as g" sin Art!!!!!
Responder Con Cita
  #9  
Antiguo 25-10-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
gracias!

el problema estaba en el alias... con producto me anduvo.. con art no....

Otra cosa.. cuando quiero usar
Código:
ADOQuery1.SQL.Add('SELECT (producto) as art, (codigo) as C, (grupo) as g FROM artic WHERE producto:=myparam ');
AdoQuery1.Parambyname('myparam').asstring:='correa';
el compilador me da undeclared identifier 'parambyname'
por que puede ser?
__________________
BlackFlash
Nothing Is Real
Responder Con Cita
  #10  
Antiguo 26-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Los dos puntos no van ahí, mira en los mensajes anteriores
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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 01:55:28.


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