Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   entrando en el mundo ADO (https://www.clubdelphi.com/foros/showthread.php?t=11139)

Nelet 08-06-2004 09:32:18

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.

weke 08-06-2004 14:30:15

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.

cbrrr 08-06-2004 14:36:33

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

__marcsc 08-06-2004 14:49:38

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.

weke 08-06-2004 14:54:24

Muchas gracias cbrrr por la solución.

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

Saludos.:)


La franja horaria es GMT +2. Ahora son las 13:30:05.

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