PDA

Ver la Versión Completa : No puedo hacer un LOCATE [], con un ClientDataSet


David
13-06-2007, 18:20:56
Ya me respondo yo , en la base de datos el campo esta insertado con espacios a la derecha .

Ya preguntaré como se han insertado los datos ,creo que desde el IBExpert .

No sé si firebird tiene alguna función trim o similar , seria ideal . Por cierto Trim no funciona en firebird.

David
13-06-2007, 18:40:04
Hola

Estoy con Firebird , tengo un componente ClientDataSet , con un campo descripción , definido en la base de datos como VarChar(80)

bien , pongo esta sentencia Y no me hace nada . Y en la base de datos , el campo esta escrito exactamente igual que el parametro que le paso al locate , incluido mayuscula y minuscula.


MiClientDataSet.Locate('Descripcion','BUENO',[]);


pero si me funciona esta :


MiClientDataSet.Locate('Descripcion','BUENO',[loPartialKey]);


No sé donde esta el error , por que la segunda busca partes , pero es que en la base de datos el campo Descripcion tiene el mismo valor que el parametro que le paso en el LOCATE ,así que deberia de funcionar el [].

Un saludo

juanlaplata
13-06-2007, 19:01:17
y cual es el problema de poner [loPartialKey]o no ponerlo. Todo depende de donde lo estas usando, si lo usas en el evento OnChange de un edit te ira buscando parcialmente la palabra final, pero si das la instruccion en un click de un boton lo busca y listo.