Club Delphi  
    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 17-06-2008
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
ClientDataset - Locatenext

Saludos desde Perú, tierra de Incas.

Estoy trabajando con Delphi 2006 con una base de Datos SQLServer 2000, tengo algo de experiencia en Interbase y Delphi 7.0

Cuando trabajaba con Interbase/Firebird he estado utilizando IBDataSet y en este componente utilizaba el metodo Locate y LocateNext.

Ahora que estoy trabajando con SQL Server 2000 estoy trabajando con DBExpress, a si mismo utilizo el ClientDataSet y no encuentro el metodo LocateNext

Duda: No existe?, por que?, o hay algun equivalente?.

A la espera de su ayuda.

Your friend,

StartKill
Lima-Perú
Responder Con Cita
  #2  
Antiguo 17-06-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Poder: 19
santus Va por buen camino
Holas.

Si lo que quieres es filtrar una serie de registros, deberías usar "ClientDataset.filter".

Aquí tienes la explicación completa de como funciona.


Saludos!
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates.

Última edición por santus fecha: 17-06-2008 a las 18:54:27.
Responder Con Cita
  #3  
Antiguo 17-06-2008
hibero hibero is offline
Miembro
 
Registrado: nov 2003
Posts: 104
Poder: 21
hibero Va por buen camino
puedes cambiar el commandtext

puedes cambiar el commandtext del clientDataset para traerte solo los registros que necesitas
Responder Con Cita
  #4  
Antiguo 17-06-2008
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Holas, gracias por responder, no deseo filtrar registros. (pero me va a servir para otro requerimiento)

Mi requerimiento:

Tengo una grilla maximo unos 100 registros..
Para buscar dentro de la grilla utilizo un edit y dos botones.

El primer boton ubica la primera coincidencia dela busqueda del tedit1
****ClientDataset1.Locate('fapellidos', 'Ramirez',[loPartialKey]);

El segundo boton deberia buscar la siguientes coincidencias, antes utilizaba el componente ibDataset, asi:
****IBDataset1.LocateNEXT('fapellidos', 'Ramirez',[loPartialKey]);
Saludos

Your friend

StartKill
Lima-Perú
Responder Con Cita
  #5  
Antiguo 18-06-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Poder: 19
santus Va por buen camino
Hola.

No se me ocurre cómo podrías sustituir el locateNEXT.. Viendo en internet tampoco hay muchas ideas al respecto. Nunca use componentes de InterBase, asi que tampoco te podría decir que resultado.

Capaz que haciendo una busqueda uno a uno, podrias suplantar el locateNext, aunque seria algo medio "horrible" a nivel código y en cuanto a la performance.

En el botón 2, luego de hacer el locate, escribe el siguiente código:

Código Delphi [-]
while not clientdataset1.eof do
begin
  if (clientdataset1.fieldbyname('fapellidos').value = 'Ramirez') then exit;
  next;
end;


Sino insisto con el filter. Creo que sería los mas facil y conveniente:

En el botón 1:
Código Delphi [-]
ClientDataset1.Filter := 'fapellidos='+QuotedStr('Ramirez');
ClientDataset1.Filtered := True;

y en el botón 2:
Código Delphi [-]
ClientDataset1.FindNext;

y luego para sacar el filtro:
Código Delphi [-]
ClientDataset1.Filtered := False;

La verdad que otra solución no se me ocurre. Si ninguna de estas te sirve, esperemos a ver si algún otro usuario se le ocurre algo mas acertado.

Saludos, y espero haberte sido de ayuda.
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates.
Responder Con Cita
  #6  
Antiguo 18-06-2008
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Gracias Santus, voly a seguir la recomendacion de susplantar el locatenext,
por un momento pense que mi Delphi 2006 estaba mal ó que tenia que aplicarle un parche...

Gracias a todos.

Saludos

StartKill
Lima-Perú
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
ClientDataSet y XML gsilvei Conexión con bases de datos 0 03-10-2007 22:59:18
Clientdataset+ galmacland Conexión con bases de datos 3 11-11-2004 15:17:37
ClientDataSet y W98 tgsistemas Conexión con bases de datos 5 03-08-2004 10:13:06
ClientDataSet narvaez.om Conexión con bases de datos 2 19-05-2004 18:58:21


La franja horaria es GMT +2. Ahora son las 06:25:18.


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