Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   D7 locate, que pasa? (https://www.clubdelphi.com/foros/showthread.php?t=51640)

Gaim2205 21-12-2007 18:16:06

D7 locate, que pasa?
 
Hola, alguien me podria decir porque no sirve este locate?? he hecho docenas en otros proyectos y no tengo idea porque no hace lo que quiero. :s solo se queda en el primer registro de mi DataSet y me muestra el dato (nombre) del mismo.
Código:

ds_trabajadores.DataSet.Locate('trabajador',worker,[]);
Edit2.Text := ds_trabajadores.DataSet.fieldByName('nombre').AsString;

Donde worker ya tiene asignado un valor entero (que si existe en el dataset).
El dataset es un ADOTable. Con su respectivo Datasource.
Tengo tmb la ADOConnection, bien configurada.

Como dije al principio, he hecho esto docenas de veces, y ahora no se porque no funciona.. bloqueo mental...

Gracias

Gaim2205 21-12-2007 19:13:37

La verdad no encuentro nada mal, yo pienso que el problema es que tal vez la funcion Locate no funciona muy bien con tablas ADO. o funciona de manera diferente... Porque al darle un showmessage para saber el valor booleano de mi locate, siempre me muestra false, cuando estoy 100% seguro que el registro sí existe.

Alguien tiene informacion acerca de esto? Gracias. :)

Kenobi 21-12-2007 21:56:36

no creo que sea por Ado
 
Creo que el problema es que locate se lleva mejor con valores tipo string y segun veo tus valores son numericos ....

Solo por ver porque no encierras tu locate en un if y mandas un mensaje si true y otro si false

if TablaLocate('Trabajador',worker,[]) then showmessage('Encontrado')
else showmessage('No Encontrado');

Kenobi 21-12-2007 22:02:42

No sera asi....
 
digo porque tabla.dataset.locate porque no mas bien tabla.locate y ya ....lo pregunto porque asi lo hago yo y me funciona bien incluso con campos de tipo entero ....

Gaim2205 21-12-2007 22:59:02

Cita:

Solo por ver porque no encierras tu locate en un if y mandas un mensaje si true y otro si false

if TablaLocate('Trabajador',worker,[]) then showmessage('Encontrado')
else showmessage('No Encontrado');
Cita:

Porque al darle un showmessage para saber el valor booleano de mi locate, siempre me muestra false, cuando estoy 100% seguro que el registro sí existe.
pues no se, al final me quite de problemas y lo hice con un query. Gracias de todos modos.


La franja horaria es GMT +2. Ahora son las 21:50:40.

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