Club Delphi  
    Paypal   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 08-06-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 23
weke Va por buen camino
He cambiado los '*' por '%', pero sigue sin devolverme nada.
También he puesto directamente lo que tu me has dicho con el mismo resultado, nada. La verdad es que me extraña mucho, pero seguro que es una tontería.
Código Delphi [-]
WHERE Nombre like ' + quotedStr(aux) + '%' + ' order by Nombre'
Tenía puesto '*' porque es el comodín de access, con el '%' no funcionaba.
Gracias.
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
  #2  
Antiguo 08-06-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 23
weke Va por buen camino
Gracias fjcg02, era eso, que no colocaba en el sitio adecuado los comodines.

Ahora si que me funciona, probaré con el resto de consultas que tengo que realizar y si me sale algún fallito más ya os lo comento.

Muchas gracias a todos por el interés y la ayuda prestada. Eso de empezar a utilizar una cosa nueva siempre te da los problemas más tontos del mundo.
Saludos.
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
  #3  
Antiguo 08-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
sigues haciéndolo como no se debe
Si vuelves a analaizar te queda
"WHERE Nombre LIKE 'valorde_aux'+% order by Nombre"
Necesitas generar
"WHERE Nombre LIKE 'valorde_aux%' order by Nombre"

Así, el códifo será
Código Delphi:
WHERE Nombre like ' + quotedStr(aux + '%') + ' order by Nombre'

Ligero detalle

Un saludete
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 08-06-2004
Nelet Nelet is offline
Miembro
 
Registrado: may 2003
Ubicación: Picassent - Valencia
Posts: 95
Poder: 24
Nelet Va por buen camino
Me parece que os estais liando con el quotedstring, prueba asi:

Código Delphi [-]
WHERE Nombre like ' + quotedStr(aux+'*') + ' order by Nombre'

y si no

Código Delphi [-]
aux:=aux+'*';
bla...bla..bla...WHERE Nombre like ' + quotedStr(aux) + ' order by Nombre'


Como bien dices weke el comodin en access es *

Pd: es mi primera prueba con las etiquetas delphi, lo siento si no sale como debe.
Responder Con Cita
  #5  
Antiguo 08-06-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 23
weke Va por buen camino
Question

Me ha salido otro problemilla.

Antes a la hora de buscar un registro con clave primaria de dos campos, utilizaba lo siguiente:
Código Delphi [-]
Table1.FindKey([telefono.Text, nombre.Text]);
Pero con ADO no está esta función 'FindKey'. Estoy intentando utilizar la función 'Locate', pero algo no tengo que estar haciendo bien porque me da error.
Código Delphi [-]
Table1.Locate(Table1.IndexName,[telefono.Text nombre.Text],[loCaseInsensitive]);

Gracias y un saludo.
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
  #6  
Antiguo 08-06-2004
Avatar de cbrrr
cbrrr cbrrr is offline
Miembro
 
Registrado: jun 2004
Posts: 57
Poder: 23
cbrrr Va por buen camino
El Locate funciona de la siguiente manera

Código Delphi [-]
  Tabla.Locate('campo1; campo2; campo3', varArrayOf([var1, var2, var3]), [loPartialKey]);

A partir de Delphi 6, el VarArrayOf está en la unit Variants, por lo que tendrás que añadirla en el uses si no está

Espero que te sirva
__________________
Si no tienes algo que decir más importante que el silencio, cállate
Responder Con Cita
  #7  
Antiguo 08-06-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 24
__marcsc Va por buen camino
Además del Locate existe una función Seek, más parecida a FindKey, que utiliza el índice actual para la búsqueda. Aunque sea una función de los componentes ADO solo funciona con el proveedor Jet 4.0 y Access a partir del 2000. (esto según el help de Delphi 6, no sé si ahora ha cambiado)

Quizás te interese o te permita realizar búsquedas más rápidas.

Personalmente no me interesa porqué:

1. Utilizo ADO con SQL Server y por lo tanto no está soportado.
2. Considero que unos componentes que permiten conectarse a multitud de bases de datos implementen una función que solo sirve para un driver en concreto.

En fin, nunca está de más de saberlo

Un saludo.
Responder Con Cita
  #8  
Antiguo 08-06-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 23
weke Va por buen camino
Muchas gracias cbrrr por la solución.

Y a ti, marcsc, por el comentario. Lo tendré en cuenta.

Saludos.
__________________
De lo bueno lo mejor, de lo mejor lo superior.
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 07:29:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi