Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2007
MiKloSS MiKloSS is offline
Miembro
 
Registrado: oct 2007
Posts: 27
Poder: 0
MiKloSS Va por buen camino
consulta, igualdad de campo con un Combo

bueno, es ke no se como hacer una igualdad de un combo con un campo a la hora de hacer una consulta, alguien me dijo que tenia que pasar un parametro pero no se como, aqui les dejo la consulta, espero que alguien me eche la mano..

select FILIACION_TRAB, NOMBRE_TRAB, APATERNO_TRAB, AMATERNO_TRAB, DOMICILIO_TRAB, TEL_TRAB, NO_HORAS, GRADO, NO_CT
from TRABAJADOR a, TRAB_CT b, HORAS c, MATERIA d
WHERE d.NOMBRE_MATERIA=Tftraxmat.DBCmat.Text AND d.ID_MATERIA=c.ID_MATERIA AND c.FILIACION_TRAB=b.FILIACION_TRAB AND c.NO_CT=b.NO_CT AND c.TURNO_CT=b.TURNO_CT AND b.FILIACION_TRAB=a.FILIACION_TRAB


El problema me lo marca aki en la primera condicion...

d.NOMBRE_MATERIA=Tftraxmat.DBCmat.Text

ya que el Tftraxmat.DBCmat.Text es el nombre de la forma.el nombre del combo.el atributo text, pero creo que no es asi, alguien que me dijera como comparar con el valor que obtiene ese combo... gracias y salu2
Responder Con Cita
  #2  
Antiguo 24-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo, pero prueba esto:
Código SQL [-]
'select FILIACION_TRAB, NOMBRE_TRAB, APATERNO_TRAB, AMATERNO_TRAB, DOMICILIO_TRAB, TEL_TRAB, NO_HORAS, GRADO, NO_CT
from TRABAJADOR a, TRAB_CT b, HORAS c, MATERIA d
WHERE d.NOMBRE_MATERIA = '+Tftraxmat.DBCmat.Text+' AND d.ID_MATERIA = c.ID_MATERIA AND c.FILIACION_TRAB = b.FILIACION_TRAB AND c.NO_CT = b.NO_CT AND c.TURNO_CT = b.TURNO_CT AND b.FILIACION_TRAB = a.FILIACION_TRAB'


Repito, no entiendo toda esta sentencia, pero para el uso de combobox, necesitas concatenar.
Saludos
Responder Con Cita
  #3  
Antiguo 24-11-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,

Y acaso, además de concatenar debidamente, sea preciso "entrecomillar" el valor de la propiedad "Text" del "Combo", puesto que de no ser así, en caso de espacios en blanco, por ejemplo, podría haber problemas con la consulta SQL. Hay funciones como "QuotedStr" que pueden ayudar en estos casos.

De todos modos, igual es también bueno (y necesario) escapar determinados caracteres que pueda haber en texto en cuestión y que puedan fastidiar (o aún peor hacer algo que no se deba) en la consulta SQL. Acaso por esto último también se recomienda (según creo) usar parámetros, porque tal vez estos sean "escapados" convenientemente antes.

Pero, vamos, de esto yo sé más bien poco.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 25-11-2007
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
poner un parámetro es muy bueno y es muy fácil, en el query el parámetro se identifica porque inicia con : y sin espacio el nombre del poco nombrado parámetro (:PARAMETRO)

Código SQL [-]
select FILIACION_TRAB, NOMBRE_TRAB, APATERNO_TRAB, AMATERNO_TRAB, DOMICILIO_TRAB, TEL_TRAB, NO_HORAS, GRADO, NO_CT
from TRABAJADOR a,  TRAB_CT b,  HORAS c, MATERIA d
WHERE d.NOMBRE_MATERIA= :NOMBRE_MATERIA AND d.ID_MATERIA=c.ID_MATERIA 
AND c.FILIACION_TRAB=b.FILIACION_TRAB AND c.NO_CT=b.NO_CT AND c.TURNO_CT=b.TURNO_CT AND b.FILIACION_TRAB=a.FILIACION_TRAB
despues de tener esto seguimos con el parámetro dentro del código delphi:

Código Delphi [-]
   ibQuery1.ParamByName('NOMBRE_MATERIA').asString := Tftraxmat.DBCmat.Text;
   ibQuery1.Open;
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #5  
Antiguo 25-11-2007
MiKloSS MiKloSS is offline
Miembro
 
Registrado: oct 2007
Posts: 27
Poder: 0
MiKloSS Va por buen camino
Cita:
Empezado por RONPABLO Ver Mensaje
poner un parámetro es muy bueno y es muy fácil, en el query el parámetro se identifica porque inicia con : y sin espacio el nombre del poco nombrado parámetro (:PARAMETRO)
despues de tener esto seguimos con el parámetro dentro del código delphi:
Gracias a todos por su respuesta, la que mas me ha ayudado es la del compañero citado, ya que eso es lo que buscaba, ya he podido avanzar con las consultas de mi sistema , sos grande... salu2

P.D. Problema solucionado... salu2
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
Consulta con un campo de un dbgrid Ivan_25 C++ Builder 6 18-11-2005 09:27:39
consulta por campo calculado noe SQL 15 28-06-2005 15:44:54
Igualdad de Oportunidades..... marcoszorrilla Noticias 0 12-12-2004 21:58:50
Consulta SQL ó Campo Lookup?? Muten Conexión con bases de datos 2 29-01-2004 00:58:24
Consulta por un campo date a un dbf fredy_boots SQL 3 01-12-2003 13:18:03


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


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