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 07-02-2007
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
Obtener unos datos de una bbdd

Hola:

Primero decir que no tengo mucha experiencia en DELPHI y es muy posible q haya metido un gambazo.

Estoy intentando obtener unas cositas de una bbdd. He hecho el codigo de la siguiente forma.
SELECT * FROM ARTICULOS WHERE ALT >= "????' + MODD5040.TEXT + '?????" AND ALT <= "????' + MODH5040.TEXT + '?????"

No estoy seguro de hacer un correcto uso de los interrogantes para lo que pretendo.
El campo ALT tiene 12 caracteres y MODD5040.TEXT son 3 caractetes que se encuentran a mitad de ALT... quiero filtrar y obtener cualquier dato de la bbddque vaya desde MODD5040.TEXT hasta MODH5040.TEXT. Para esto me da igual el valor de los 4 caracteres anteriores y los 5 posteriores.

Espero haberme explicado bien... Si alguien puede ayudarme estaria muy agradecido.
Responder Con Cita
  #2  
Antiguo 08-02-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Código Delphi [-]
'Select * from Articulos where ALT like ' + QuotedStr('%' + MODH5040.TEXT + '%')
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #3  
Antiguo 08-02-2007
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
El problema de eso es que me obtendría todo donde apareciese MODH5040.TEXT sin importar la posición. Mi MODH5040.TEXT empieza en el caracter 5 y acaba en el 7 (3 caracteres de un total de 12).
Aparte hay un MODD5040.TEXT y un MODH5040.TEXT que significa el numero en el cual empezaria y en el que finalizaria la busqueda.
Responder Con Cita
  #4  
Antiguo 08-02-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Cita:
Empezado por pennylane
El problema de eso es que me obtendría todo donde apareciese MODH5040.TEXT sin importar la posición. Mi MODH5040.TEXT empieza en el caracter 5 y acaba en el 7 (3 caracteres de un total de 12).
Aparte hay un MODD5040.TEXT y un MODH5040.TEXT que significa el numero en el cual empezaria y en el que finalizaria la busqueda.
Perdón, entendí mal la pregunta y pensé que se trataba de la misma variable. Para este caso debías indicar con que base de datos trabajas. Por ejemplo en el caso de firebird podrías hacer uso de las UDF´s y usar la función SubStr(). Con lo que la consulta quedaria de la siguiente manera.

Código Delphi [-]
'Select * from Articulos where SubStr(ALT,4,3) > ' + QuotedStr(MODD5040.TEXT) + 
' and SubStr(ALT,4,3) < ' + QuotedStr(MODH5040.TEXT)
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #5  
Antiguo 08-02-2007
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
La BBDD es de Paradox
Responder Con Cita
  #6  
Antiguo 08-02-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Cita:
Empezado por pennylane
La BBDD es de Paradox
Pues lo único que se me ocurre para Paradox es recorrer la tabla desde Delphi y comprobar que el campo cumpla la condición comentada anteriormente usando la función Copy(String, Index, Length), si el campo cumple la condición entonces realizas con el las acciones que quieras (ponerlo en un StringGrid, almacenarlo en una tabla, etc..) y continuas con el siguiente, si no cumple la condición entonces continuas y así hasta que llegues al final de la tabla. Comprueba antes si existe para Paradox una función parecida a SubStr(), ya que no te lo puedo asegurar, pero de que yo sepa no.

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #7  
Antiguo 08-02-2007
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
Muchas gracias... seguire lo que me dices
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
duplicar un form para posteriormente modificar solo unos datos Ade Varios 4 13-11-2006 13:05:17
Obtener datos JavierO Tablas planas 1 02-08-2005 19:30:18
Obtener datos de un DVD Video JoseQ Varios 1 08-02-2005 20:08:57
obtener filas que contienen unos datos y no contienen otros datos Angel Firebird e Interbase 14 10-06-2003 10:11:23
Obtener datos conexion internet Pally Internet 5 06-06-2003 20:04:39


La franja horaria es GMT +2. Ahora son las 00:36:59.


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